larave-admin
はお手軽にさらっと管理画面を作れて便利です。
大まかな使用方法は他の記事にお任せするとしてcheckbox
、multiselect
などをDBに保存するにはひと手間必要なので備忘録的メモです
公式に記述があります。二つあるようですが今回はデータをカンマ区切りで登録する方法です。
https://laravel-admin.org/docs/#/en/model-form-fields
class Post extends Model
public function getTagsAttribute($value)
{
return explode(',', $value);
}
public function setTagsAttribute($value)
{
$this->attributes['tags'] = implode(',', $value);
}
}
そのまま引用しています。get[elements]Attribute
とset[elements]Attribute
をoverwriteしています。
マイグレーションはtextかvarcharあたりで
Schema::create('post', function (Blueprint $table) {
$table->bigIncrements('id');
$table->text('tag');
$table->timestamps();
$table->softDeletes();
});
これでDBにはカンマ区切りで保存されます