Laravel访问视图中的外键名称

时间:2017-08-22 09:37:54

标签: php laravel laravel-5.4 blade

Inquries表包含client_id作为外键,我想在我的视图中访问ist Name。 clients表有一个名称列。

我尝试按照在我的视图中显示名称,但它不起作用。

@foreach($inquiries as $inquiryKey => $inquiryValue)
    <td>{{ $inquiryValue->client_id }}</td> // works
    <td>{{ $inquiryValue->client_id->name }}</td> // does not work
@endforeach

客户端模型

public function inquiry()
{
    return $this->hasMany(Inquiry::class);
}

询问

public function client()
{
    return $this->belongsTo(Client::class);
}

4 个答案:

答案 0 :(得分:1)

client_id只是客户端的ID。由于您已建立关系,因此您应该参考:{{ $inquiryValue->client->name }}

答案 1 :(得分:0)

你应该试试这个:

@foreach($inquiries as $inquiryKey => $inquiryValue)
    <td>{{ $inquiryValue->client_id }}</td>
    <td>{{ $inquiryValue->client->name }}</td> 
@endforeach

希望这对你有用!!!

答案 2 :(得分:0)

尝试

{{ $inquiryValue->name }}

您也可以检查以下代码中的变量

dd(get_defined_vars())

答案 3 :(得分:0)

您可以尝试这个。.

客户模型

public function inquiries()
  {
    return $this->hasMany(Inquiry::class);
  }

查询模型

public function client()
  {
     return $this->belongsTo(Client::class, 'client_id');
  }

查看

@foreach($inquiries as $inquiryKey => $inquiryValue)
  <td>{{ $inquiryValue->client_id }}</td>
  <td>{{ $inquiryValue->client->name }}</td>
@endforeach