Php laravel试图获取空值上非对象的属性
我试图从数据库中获取数据,但当一列的值为null时,会出现此错误 正在尝试获取非对象的属性 assignTot为null时的问题如果have value一切正常,请告诉我错误。 如何使用类似Php laravel试图获取空值上非对象的属性,php,laravel,Php,Laravel,我试图从数据库中获取数据,但当一列的值为null时,会出现此错误 正在尝试获取非对象的属性 assignTot为null时的问题如果have value一切正常,请告诉我错误。 如何使用类似返回视图('stations.show')->with station('$station')这样的解决方案 在我的控制下,返回倍数为 返回视图('admin.contracts.show', 合同(“合同”、“asiTo”、“tranTo”、“回复”) 刀片: <h2><span clas
返回视图('stations.show')->with station('$station')这样的解决方案代码>
在我的控制下,返回倍数为
返回视图('admin.contracts.show',
合同(“合同”、“asiTo”、“tranTo”、“回复”)
刀片:
<h2><span class="profile-details-name-nn">{{ $contracts->conhotelname }}</span></h2>
<div class="col-lg-8 col-md-8 col-sm-8 col-xs-12">
<div class="btn-group project-list-ad">
<button class="btn btn-white btn-xs">{{ $contracts->constatus }}</button>
</div>
<div class="project-details-dt">
@if($contracts->assignTot == null)
<span>-</span>
@else
<span>{{ $contracts->assignTot }}</span>
@endif
</div>
</div>
{{$contracts->conhotelname}
{{$contracts->constatus}
@如果($contracts->assignTot==null)
-
@否则
{{$contracts->assignTot}
@恩迪夫
您需要声明数组$contracts
如下
public function show($id)
{
$contracts = array();
$contracts=Contracts::find($id)
->where('contracts.id',$id)
->join('destination','contracts.condesid','destination.id')
->join('department','contracts.condepid','department.id')
->leftjoin('users','contracts.conassigneto','users.id')
->select('contracts.*','destination.name as desName','department.name as depName','users.name as assignTot')
->first();
return view('admin.contracts.show', compact('contracts'));
}
首先是“dd(contracts)”,然后查看您的合同结构谢谢,但是我尝试了“给我null”这就是为什么您的查询与您想要的不匹配为什么null值给我这个错误我不know@HimaHima如果没有联系人显示,您预计结果会是什么?谢谢,但是这一行中的问题->join('users'、'contracts.conassigneto'、'users.id')
如果conassigneto为null,请告诉我错误每次你得到合同
值或者有时你得到null
。如果你得到合同
的值,反之亦然,你使用count
php函数。因为当你得到合同
为null时,那么assignTot
对象就不存在了。T你为什么得到这个error@A.ANoman不是每次,而是当合同中的conassigneto
为空值时table@HimaHima尝试使用左连接..查看我的编辑Answer@LeenaPatel很好,谢谢:)我接受这个答案
public function show($id)
{
$contracts = array();
$contracts=Contracts::find($id)
->where('contracts.id',$id)
->join('destination','contracts.condesid','destination.id')
->join('department','contracts.condepid','department.id')
->leftjoin('users','contracts.conassigneto','users.id')
->select('contracts.*','destination.name as desName','department.name as depName','users.name as assignTot')
->first();
return view('admin.contracts.show', compact('contracts'));
}