我想使用laravel来获取外键表的数据

时间:2019-11-04 07:46:56

标签: laravel

我有两个表“ Orders”和“ users”,其中Users表的ID是“ Orders”表中的外键。我想使用“订单”表获取“用户”表的数据。

@foreach($orders as $ord)
                        <tr>
                            <td>{{$ord->id}}</td>
                            <td>{{$ord->productname}}</td>
                            <td>{{$ord->totalprice}}</td>
                            <td>{{$ord->quantity}}</td>
                            <td>{{$ord->users->name}}</td>
                          <tr>
 @endforeach

以便我想要使用{{$ord->users->name}}查询的用户名,但是 我有错误=

  

未定义的属性:stdClass :: $ users

2 个答案:

答案 0 :(得分:2)

如果您说自己在user_id表中有一个orders。然后在您的Order模型中添加以下内容:

public function user()
{
    return $this->belongsTo(User::class);
}

在视图中,您可以像这样使用它:

{{ $order->user->name }}

答案 1 :(得分:0)

订单模型

public function user()
{
    return $this->belongsTo(User::class);
}

并在控制器中传递订单值的地方,

$order=Order::with('user')->where(your_condition)->get();

然后访问刀片中的值

@foreach($orders as $ord)
                        <tr>
                            <td>{{$ord->id}}</td>
                            <td>{{$ord->productname}}</td>
                            <td>{{$ord->totalprice}}</td>
                            <td>{{$ord->quantity}}</td>
                            <td>{{$ord->user->name}}</td>
                          <tr>
 @endforeach