具有动态范围的 OctoberCms 记录查找器
OctoberCms record finder with dynamic scope
我正在使用基于 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 是我试图通过记录查找器传递并进入范围的动态值。
任何人都可以建议这是满足此类要求的正确方法吗?或者我应该如何实现?
在您的字段定义中,您必须使用 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);
}
}
我正在使用基于 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 是我试图通过记录查找器传递并进入范围的动态值。
任何人都可以建议这是满足此类要求的正确方法吗?或者我应该如何实现?
在您的字段定义中,您必须使用 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);
}
}