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

Php Laravel多次在模型中使用$fillable添加记录,php,laravel,Php,Laravel,我有一张桌子,结构如下图所示 我首先使用MenuController添加菜单: public function storeData(Request $request) { $menu = new Menu($request->all()); $menu->save(); } 之后,我添加了菜单的子菜单,添加了: public function storeSubMenu(Request $request) { $menu = new Menu($request

我有一张桌子,结构如下图所示

我首先使用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。对于子菜单,也不需要传递菜单名和slug


我使用$fillable两次,得到向数据库添加数据的错误。那么,如何对这两种方法使用$request->all()来存储数据呢?对我来说有什么帮助吗?

除非你自己对此提出疑问,为什么不制作两个模型呢?一个用于菜单,另一个用于与菜单项具有一对一关系的子菜单?
如果你考虑这一点,我会在这里添加一些代码,或者我将不得不用另外的方式思考。

当使用<代码> $Fulabely时,你可以传递更多的参数,但是只有在<代码> $Fulabely会被添加。看看怎么写吧。检查细节

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

你不需要两个模型,你可以和同一个模型有一对多的关系。Raihan,如果我用两个模型,这没关系,但是我只有一个表,所以可以把一个表称为两个模型?如果两个模型出现这种情况,请添加代码。@Devon如何使用同一个模型创建一对多关系并将数据添加到数据库?是的,这是可能的,为什么不可能呢?您可以使用同一个表创建无限类,只需设置
$table
属性。@kuldeepsankdecha在创建关系方法时只需将相关模型设置为同一模型。错误是什么?