Laravel在模型中使用$ fillable更多次来多次添加记录

时间:2017-07-12 14:00:07

标签: php laravel

我有一个结构表,下面是图片。

我首先使用MenuController添加菜单:

public function storeData(Request $request)
{
    $menu = new Menu($request->all());
    $menu->save();
}

之后我添加了菜单的子菜单:

public function storeSubMenu(Request $request)
{
    $menu = new Menu($request->all());
    $menu->save();
}

在我使用的菜单模型文件中:

protected $fillable = ['mane', 'slug','sub_menu', 'sub_menu_slug','parent_menu_id'];

所以当我填写菜单和子菜单时,我不想传递不必要的数据,如1.菜单不需要传递子菜单项,2。子菜单不需要传递菜单名字和slu ..也是。

我使用$ fillable两次,并且在向数据库添加数据时出错。那么如何使用$ request-> all()来存储数据?我有什么帮助吗?

2 个答案:

答案 0 :(得分:0)

除非你为此做出自己的查询,为什么不制作两个模型呢?一个用于菜单,另一个用于子菜单,与菜单项具有一对一的关系? 如果你考虑这个,那么我将在这里添加一些代码,否则我将不得不以其他方式思考。

答案 1 :(得分:0)

使用$fillable时,您可以传递更多参数,但只会添加$fillable。看看它的写作方式。查看Eloquent Mass Assignment了解详细信息。

$menu = Menu::create($request->all());