Laravel 5:如何在hasMany表的字段中访问?

时间:2016-04-14 20:32:28

标签: php laravel laravel-5

我有两个模型与hasMany链接到很多关系,并且有我的表结构

clients = id|title...etc
roles = id|title...etc
client_role = id|client_id|role_id|desc
每一件事都很棒 现在我想访问client_role表上的desc字段我该怎么做? 我试过了

$client =  Client::first()->roles()->desc 
//nothing returned!
$client =  Client::first()->desc 

但没有!请帮忙

2 个答案:

答案 0 :(得分:2)

您必须在模型关系中加载数据透视图的列(例如,客户端):

return $this->belongsToMany('App\Role')->withPivot('desc');

然后你可以像这样调用数据库中的列:

foreach ($clients as $client) {
    echo $client->pivot->desc;
}

我希望它可以帮助你...

答案 1 :(得分:0)

Clients模型中:

public function roles() {
    return $this->belongsToMany('App\Clients');
}

Roles模型中:

public function clients() {
    return $this->belongsToMany('App\Roles');
}

然后从您的控制器:

$client =  Client::with('roles')->first();
dd($client->roles); // Laravel Collection