在以下代码中,BelongsTo::make('Answer', 'answer', Alternative::class)->searchable()
返回数百万条记录。
我想用以下条件限制该字段:ID必须在HasMany::make('Alternatives')
的ID之内
Question.php(Nova资源):
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()
搜索整个数据库。我希望它仅显示相关条目。
答案 0 :(得分:0)
Select::make()
可以在这种情况下使用:它向它查询一个限制(匹配的外键-或任何其他where子句),并创建一个带有结果的选择框。
Select::make('Answer', 'answer_id')->options($alts->pluck('letter', 'id')),