laravel-nova - Laravel Nova 减少 Select 选项或注入子句进行查询
问题描述
我有一个组织模型和一个合同模型
这里是
class Contract extends Model {
public function organisation() {
return $this->belongsTo(Organisation::class, 'organisation_id', 'id')->where('is_self',1);
}
}
如何让 Laravel Nova 只看到 BelongsTo 字段中 is_self=1 的组织。是否有注入子句查询的功能,这里选择哪些形式?
这就是我所说的 BelongsTo
BelongsTo::make('Organisation', 'organisation', Organisation::class)
->rules('required', 'exists:organisations,id'),
解决方案
你也不需要坚持这个BelongsTo
领域。也许一个Select
领域适合你的情况?
Select::make('is_self', 'organisation_id')
->options(function() {
Organisation::whereIsSelf(1)->pluck('name', 'id')->toArray();
})
此代码未经测试,但我在我的 Nova 应用程序中使用类似的选择没有问题。
推荐阅读
- azure - 在 Azure 应用服务上创建辅助 FTP 凭据
- sql - 根据与数组列的比较选择关联记录
- node.js - Mongoose 在 node.js 中查找和更新单个子文档
- arrays - 一旦遇到特定条件,如何使 C 中的程序只打印一条语句?
- flutter - Flutter 请求 Filemaker API (FieldData)
- python - 从 Python 脚本中使用 VS-Code 打开 Python 文件
- javascript - 在同一时间轴上结合日历和图表,单个 SVG 与 HTML+JavaScript 图表库
- html - HTML modal 的最大宽度为 500 px
- spring-batch - 运行多个应用程序实例时如何从表中读取不同的数据
- lisp - 试图使宏类似于 defparameter,defvar 但宏只返回一个 s 表达式