[英]Trying to get property of non-object in Laravel when attempting to delete row from datatable
我想我知道为什么会发生错误,我只是不确定如何解决它。
我有一个数据表,每行都有一个编辑和删除按钮。 该表包含正确的数据。 当我按行的删除按钮时,我将用户发送到删除确认视图。 删除视图中发生错误。
这是错误的行
<form id="deleteForm" class="form-horizontal" method="post" action="@if (isset($guestlist)){{ URL::to('entir/guests/' . $guestlist->id . '/delete') }}@endif" autocomplete="off">
我认为问题是由于$ guestlist不是一个对象。
所以在控制器中我使用以下函数来获取数据
public function getData()
{
$guestlists = Guestlist::select(array('guestlists.id', DB::raw('CONCAT(guestlists.first_name, " ", guestlists.last_name) AS g_name'),'guestlists.start_date', 'guestlists.end_date', 'guestlists.notes', 'guestlists.vendor'));
return Datatables::of($guestlists)->add_column('actions', '<a href="{{{ URL::to(\'entir/guests/\' . $id . \'/edit\' ) }}}" class="iframe glyphicon glyphicon-edit"> </a>
<a href="{{{ URL::to(\'entir/guests/\' . $id . \'/delete\' ) }}}" class="glyphicon glyphicon-remove"> </a>
')
->remove_column('id')
->make();
}
这是调用删除视图的功能
public function getDelete($guestlist)
{
return View::make('site/entir/guests/delete', compact('guestlist'));
}
如果我添加dd($guestlist);
在返回之前我可以看到它不包含行数据。
例如,假设该行具有名字,姓氏和其他一些字段。 这行的id是10.当我查看dd()的输出时; 我只看到这个
字符串'10'(长度= 2)
我原本期望对象的guestlist和所有的行数据。 我不确定为什么会这样。 我正在使用laravel启动站点( https://github.com/andrewelkins/Laravel-4-Bootstrap-Starter-Site )并且我使用删除按钮复制了作者为其数据表所做的事情。 当我添加dd();
他删除用户功能我看到他的对象和行数据......我很困惑。
谢谢
您的查询无法获取任何数据。 追加 - > get()。
Guestlist::select(array('guestlists.id', DB::raw('CONCAT(guestlists.first_name, " ", guestlists.last_name) AS g_name'),'guestlists.start_date', 'guestlists.end_date', 'guestlists.notes', 'guestlists.vendor'))->get();
http://laravel.com/docs/5.0/queries
如果需要数组中的结果,请追加 - > get() - > toArray()。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.