在 Backpackforlaravel 中具有相同 n-n 关系的多个列(外键)
Having multiple columns (foreign keys) of the same n-n relation in Backpackforlaravel
我遇到以下情况:
我的实体会话和注册与多对多 (n-n) 关系相关。在注册中,我有两个外键,player_id 和 hotel_id。
在 Session CrudController 中,我想显示 Player(s) 和 Hotel(s) 的相关名称。
对于 Player,它是这样工作的:
CRUD::addColumn([
// any type of relationship
'name' => 'registrations', // name of relationship method in the model
'type' => 'relationship',
'label' => 'Spieler', // Table column heading
// OPTIONAL
'entity' => 'registrations', // the method that defines the relationship in your Model
'attribute' => 'player.full_name', // foreign key attribute that is shown to user
'model' => App\Models\Registration::class, // foreign key model
]);
所以我继续这样添加酒店:
CRUD::addColumn([
// any type of relationship
'name' => 'registrations', // name of relationship method in the model
'type' => 'relationship',
'label' => 'Hotel', // Table column heading
// OPTIONAL
'entity' => 'registrations', // the method that defines the relationship in your Model
'attribute' => 'hotel.name', // foreign key attribute that is shown to user
'model' => App\Models\Registration::class, // foreign key model
]);
但不幸的是它不起作用 - 我没有收到错误消息,它只是一直只显示玩家列。我认为这是因为 'name' 中的值相同 - 因为在 Player 中评论 'name' 值后,酒店信息可见。但是我不知道如何避免它。
目前我不确定这是一个错误还是我做错了什么。非常感谢任何形式的支持 - 提前致谢!
谢谢@tabacitu,成功了!
我已经添加了
'key' => 'hotel'
它出现在 table。
我遇到以下情况:
我的实体会话和注册与多对多 (n-n) 关系相关。在注册中,我有两个外键,player_id 和 hotel_id。 在 Session CrudController 中,我想显示 Player(s) 和 Hotel(s) 的相关名称。
对于 Player,它是这样工作的:
CRUD::addColumn([
// any type of relationship
'name' => 'registrations', // name of relationship method in the model
'type' => 'relationship',
'label' => 'Spieler', // Table column heading
// OPTIONAL
'entity' => 'registrations', // the method that defines the relationship in your Model
'attribute' => 'player.full_name', // foreign key attribute that is shown to user
'model' => App\Models\Registration::class, // foreign key model
]);
所以我继续这样添加酒店:
CRUD::addColumn([
// any type of relationship
'name' => 'registrations', // name of relationship method in the model
'type' => 'relationship',
'label' => 'Hotel', // Table column heading
// OPTIONAL
'entity' => 'registrations', // the method that defines the relationship in your Model
'attribute' => 'hotel.name', // foreign key attribute that is shown to user
'model' => App\Models\Registration::class, // foreign key model
]);
但不幸的是它不起作用 - 我没有收到错误消息,它只是一直只显示玩家列。我认为这是因为 'name' 中的值相同 - 因为在 Player 中评论 'name' 值后,酒店信息可见。但是我不知道如何避免它。
目前我不确定这是一个错误还是我做错了什么。非常感谢任何形式的支持 - 提前致谢!
谢谢@tabacitu,成功了!
我已经添加了
'key' => 'hotel'
它出现在 table。