我使用基于Laravel的OctoberCMS并尝试通过Record Finder获取表单中的产品列表。
用例是记录查找器必须根据动态条件显示可用产品。
我试图通过" Scope"相关表单模型的记录查找器选项,但没有找到将动态值传递给范围的方法。
示例代码 -
class A extends Model
{
public $belongsTo = [
'product' => [
'Plugin\Models\B',
'key' => 'id',
'scope' => 'specificProduct'
],
];
}
class B extends Model
{
public function scopeSpecificProduct($query , $product_type)
{
return $query->where('product_type', $product_type);
}
}
这里$ product_type是我试图通过记录查找器传入并进入范围的动态值。
任何人都可以建议这是这种要求的正确方法,或者我应该如何实现这一目标?
答案 0 :(得分:1)
在字段定义中,您必须使用scope
属性
fields:
products:
label: Products
type: recordfinder
scope: specificProduct
有了这个,你的范围的第二个参数将是创建或更新的A
模型
class B extends Model
{
public function scopeSpecificProduct($query , $model)
{
return $query->where('product_type', $model->depend_attribute);
}
}