laravel使用laravel 5.2中的模型从表中获取数据
我想获得供应商名称和分配订单给供应商的用户。 但每次我得到这个错误
第26行:尝试在b6bb559eccdc8a2d45a2d2d6ce89e8e217411386.php第26行中获取非对象(View:E: xampp htdocs ftdindia resources views - > phpEngine.php第44行中的handleViewException(object(ErrorException),'1')
我的代码如下
订单控制器
public function allorder(){
$orders = OrderGrid::paginate(100);
return view ('view.Orders.allorder', ['orders' => $orders]);
//dd($orders->all());
}
这是我的模型
class OrderGrid extends model{
protected $table = 'order_grids';
public function vendor() {
return $this->belongsTo(User::class);
}
public function assignedBy() {
return $this->belongsTo(User::class, 'vendor_assigned_by_user');
}
}
这是我的观点
@foreach($orders as $order)
<tr>
<td> {{ $i }}</td>
<td>{{ $order->order_id }}</td>
<td>{{ $order->vendor->username }}</td>
<td>{{ $order->assignedBy->username }}</td>
<td>{{ $order->delivery_city }}</td>
<td>{{ $order->delivery_date }}</td>
<td>{{ $order->delivery_time }}</td>
<td>{{ $order->order_statuss }}</td>
<td>{{ $order->order_status }}</td>
<td>
@if(!$order->vendor_id)
Unassigned
@else
Assigned
@endif
</td>
<td></td>
</tr>
<?php $i +=1; ?>
@endforeach
@foreach($orders as $order)
<tr>
<td> {{ $i }}</td>
<td>{{ $order->order_id }}</td>
<td>{{ $order->vendor->username }}</td> inspite of this do <td>{{ !is_null($order->vendorName) ? $order->vendorName->username : null }}</td>
<td>{{ $order->assignedBy->username }}</td> and same here also <td>{{ !is_null($order->assignedBy) ? $order->assignedBy->username : null }}</td>
<td>{{ $order->delivery_city }}</td>
<td>{{ $order->delivery_date }}</td>
<td>{{ $order->delivery_time }}</td>
<td>{{ $order->order_statuss }}</td>
<td>{{ $order->order_status }}</td>
<td>
@if(!$order->vendor_id)
Unassigned
@else
Assigned
@endif
</td>
<td></td>
</tr>
<?php $i +=1; ?>
@endforeach
并在模型中
public function vendorName() {
return $this->belongsTo('AppModelUser', 'vendor_id', 'id');
}
public function assignedBy() {
return $this->belongsTo('AppModelUser', 'assigned_by', 'id');
}
您收到的错误与您在$order
集合中如何调用vendor()
函数有关。
文档是理解这一点的好地方,但基本上所有的Eloquent关系都是通过函数定义的,所以您可以调用这些函数来获取关系的一个实例,而无需实际执行关系查询。
因此它需要是:
<td>{{ $order->vendor()->username }}</td>
我们现在没有任何链接供应商()而不是供应商。
链接地址: http://www.djcxy.com/p/53083.html上一篇: laravel get Data from table using model in laravel 5.2
下一篇: I cannot get value from an object in blade template Laravel 4