在 Laravel Nova 中对 BelongsTo 施加条件
Impose condition on BelongsTo in Laravel Nova
在下面的代码中,BelongsTo::make('Answer', 'answer', Alternative::class)->searchable()
returns 百万条记录。
我想用一个条件限制这个字段:它的 ID 必须在 HasMany::make('Alternatives')
的 ID 之内
Question.php(新星资源):
public function fields(Request $request)
{
return [
ID::make()->sortable(),
CKEditor::make('Wording', 'wording')->alwaysShow(),
Boolean::make('Verified', 'is_verified'),
Select::make('Type')->options([
'multiple_choice' => 'Multiple Choice',
'right_or_wrong' => 'Right or Wrong'
]),
Tags::make('Level')->type('level')->single(),
Tags::make('Subjects')->type('topic'),
HasMany::make('Alternatives'),
BelongsTo::make('Answer', 'answer', Alternative::class)->searchable()
];
}
我的意思是:一个问题有很多选择。一个问题有一个答案。
我只想列出该字段中可能的答案。恰好是 HasMany::make('Alternatives'),
中列出的那些
现在,BelongsTo::make('Answer', 'answer', Alternative::class)->searchable()
搜索整个数据库。我希望它只显示相关条目。
Select::make()
可以在这种情况下使用:它查询限制(匹配的外键 - 或任何其他 where 子句)并创建一个包含结果的 select 框。
Select::make('Answer', 'answer_id')->options($alts->pluck('letter', 'id')),
在下面的代码中,BelongsTo::make('Answer', 'answer', Alternative::class)->searchable()
returns 百万条记录。
我想用一个条件限制这个字段:它的 ID 必须在 HasMany::make('Alternatives')
Question.php(新星资源):
public function fields(Request $request)
{
return [
ID::make()->sortable(),
CKEditor::make('Wording', 'wording')->alwaysShow(),
Boolean::make('Verified', 'is_verified'),
Select::make('Type')->options([
'multiple_choice' => 'Multiple Choice',
'right_or_wrong' => 'Right or Wrong'
]),
Tags::make('Level')->type('level')->single(),
Tags::make('Subjects')->type('topic'),
HasMany::make('Alternatives'),
BelongsTo::make('Answer', 'answer', Alternative::class)->searchable()
];
}
我的意思是:一个问题有很多选择。一个问题有一个答案。
我只想列出该字段中可能的答案。恰好是 HasMany::make('Alternatives'),
现在,BelongsTo::make('Answer', 'answer', Alternative::class)->searchable()
搜索整个数据库。我希望它只显示相关条目。
Select::make()
可以在这种情况下使用:它查询限制(匹配的外键 - 或任何其他 where 子句)并创建一个包含结果的 select 框。
Select::make('Answer', 'answer_id')->options($alts->pluck('letter', 'id')),