Laravel 背包 - 显示关系函数的特定属性
Laravel Backpack - Show specific attribute from relationship function
我有注册的 Comment
模型,它有一个 User
参考,像这样:
public function user() {
return $this->belongsTo('App\User');
}
这个函数 returns 一个 User
的实例,这是正确的,但我不知道如何注册 User
列获取问题 user
属性 使用背包。相反,我得到了我的模型的 JSON 表示:
那么,如何从我的关系函数中获取特定字段?
如果你这样做:
$user = $comment->user->user;
你会得到'test'; (来自你的例子)
这可能看起来令人困惑,因为您的用户模型具有用户属性。也许你可以称它为 'name' 而不是 'user'。这样你就可以称它为:
$username = $comment->user->name;
记得在对相关模型调用 属性 之前检查关系是否存在。
if(!is_null($comment->user)) {
$username = $comment->user->user;
}
或者:
$username = !is_null($comment->user) ? $comment->user->user : 'No user';
听起来 the select column 非常适合您。只需在 EntityCrudController 的 setup()
方法中使用它,如下所示:
$this->crud->addColumn([
// 1-n relationship
'label' => "User", // Table column heading
'type' => "select",
'name' => 'user_id', // the column that contains the ID of that connected entity;
'entity' => 'user', // the method that defines the relationship in your Model
'attribute' => "user", // foreign key attribute that is shown to user
'model' => "App\Models\User", // foreign key model
]);
"attribute" 告诉 CRUD 在 table 单元格中显示什么(名称、ID 等)。
我有注册的 Comment
模型,它有一个 User
参考,像这样:
public function user() {
return $this->belongsTo('App\User');
}
这个函数 returns 一个 User
的实例,这是正确的,但我不知道如何注册 User
列获取问题 user
属性 使用背包。相反,我得到了我的模型的 JSON 表示:
那么,如何从我的关系函数中获取特定字段?
如果你这样做:
$user = $comment->user->user;
你会得到'test'; (来自你的例子)
这可能看起来令人困惑,因为您的用户模型具有用户属性。也许你可以称它为 'name' 而不是 'user'。这样你就可以称它为:
$username = $comment->user->name;
记得在对相关模型调用 属性 之前检查关系是否存在。
if(!is_null($comment->user)) {
$username = $comment->user->user;
}
或者:
$username = !is_null($comment->user) ? $comment->user->user : 'No user';
听起来 the select column 非常适合您。只需在 EntityCrudController 的 setup()
方法中使用它,如下所示:
$this->crud->addColumn([
// 1-n relationship
'label' => "User", // Table column heading
'type' => "select",
'name' => 'user_id', // the column that contains the ID of that connected entity;
'entity' => 'user', // the method that defines the relationship in your Model
'attribute' => "user", // foreign key attribute that is shown to user
'model' => "App\Models\User", // foreign key model
]);
"attribute" 告诉 CRUD 在 table 单元格中显示什么(名称、ID 等)。