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