如何解决 laravel 数据表中的“尝试获取非对象的属性‘名称’”错误?
Posted
技术标签:
【中文标题】如何解决 laravel 数据表中的“尝试获取非对象的属性‘名称’”错误?【英文标题】:How to solve "Trying to get property 'name' of non-object" error in laravel Data Tables? 【发布时间】:2020-06-24 03:07:25 【问题描述】:我在这里使用 laravel 中的数据表我试图获取具有关系的数据,有时关系 id 不存在,因此它在 laravel 刀片中给出空值我可以通过检查它是否为空来处理它。但在数据表中,我不能使用它。
returning values to data table
return [
'delivery_run_id' => $run_sheet->delivery_runs->name:
];
当我在 return 语句之前,它工作正常,但我认为这种方法不好
if(empty($run_sheet->delivery_runs->name))
$delivery_run = '';
else
$delivery_run = $run_sheet->delivery_runs->name;
我尝试为数据表列设置默认值,但它不起作用
var table = $(tablename).DataTable(
responsive: true,
"order": [],
'aoColumnDefs': [
'bSortable': false,
'aTargets': ['nosort']
],
buttons: [
'print',
'copyhtml5',
'excelHtml5',
'csvHtml5',
'pdfHtml5',
],
processing: true,
serverSide: true,
ajax:
url: url,
type: 'get',
data: filters
,
columns: columns,
"language":
processing: "<img src='https://thumbs.gfycat.com/WatchfulSnarlingBettong-max-1mb.gif'>"
,
"columnDefs": [
"data": null,
"defaultContent": "<button>Edit</button>",
"targets": -1
]
);
【问题讨论】:
【参考方案1】:使用三元运算符来检查是否设置。
$delivery_run = $run_sheet->delivery_runs->name ?? "";
return [
'delivery_run_id' => $run_sheet->delivery_runs->name ?? "";
];
【讨论】:
以上是关于如何解决 laravel 数据表中的“尝试获取非对象的属性‘名称’”错误?的主要内容,如果未能解决你的问题,请参考以下文章