multiSelect
Создает поле выбора нескольких записей.
FormItem::multiSelect('categories', 'Categories')
Предоставление данных
Массивом:
->list([1 => 'First', 2 => 'Second', 3 => 'Third])
При помощи enum (значения массива используются в качестве ключей):
->enum(['First', 'Second', 'Third])
Классом:
->list(\Foo\MyModel::class)
MyModel
должен реализовывать метод public static function getList()
и возвращать массив.
Предоставление выделенных записей
->value('categories.article_id')
Сохранение данных
Создайте новый метод мутатора в вашей модели. Пример:
public function setCategoriesAttribute($categories)
{
$this->categories()->detach();
if ( ! $categories) return;
if ( ! $this->exists) $this->save();
$this->categories()->attach($categories);
}
Метод categories()
определяет связь belongs-to-many
в данном случае.