Поиск записей OctoberCms с динамическим диапазоном

Я использую OctoberCMS на основе Laravel и пытаюсь получить список продуктов в форме через Record Finder.

Сценарий использования заключается в том, что средство поиска записей должно отображать доступные продукты на основе динамического условия.

Я пытался добиться этого с помощью опции «Область» средства поиска записей для связанной модели формы, но не нашел способа передать динамическое значение в область.

Образец кода —

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 — это динамическое значение, которое я пытаюсь передать через средство поиска записей и получить в области видимости.

Кто-нибудь может предположить, что это правильный путь для такого требования или как мне этого добиться?

2

Решение

В определении ваших полей вы должны использовать 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);
}
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]