我是Laravel的新手,我通过数据透视表role_user
有两个表用户和角色,但我删除了数据透视表并将外键id_role
放在表user
中,但我还需要更改此代码,但我发现了一些问题。
@if(!empty($user->roles))
@foreach($user->roles as $v)
<label class="label label-success">{{ $v->display_name }}</label>
@endforeach
@endif
感谢您的帮助。
答案 0 :(得分:0)
用户模型:
class User extends Model {
public function roles()
{
return $this->hasMany(Roles::class);
}
角色迁移文件:
public function up()
{
Schema::create('roles', function(Blueprint $table)
{
$table->increments('id');
$table->integer('user_id')->unsigned();
$table->foreign('user_id')
->references('id')->on('todolists')
->onDelete('cascade');
$table->string('name');
$table->timestamps();
});
}
角色模型:
class Role extends Model {
public function user()
{
return $this->belongsTo(User::class);
}
}
现在你可以这样做:
@if(!empty($user->roles))
@foreach($user->roles as $v)
<label class="label label-success">{{ $v->display_name }}</label>
@endforeach
@endif