首頁  >  問答  >  主體

laravel使用DB類別的時候關聯表寫入資料問題

laravel使用DB類別的時候關聯表寫入資料問題:

使用門面的時候,要為目前使用者設定角色,可以用$user->roles()->attach(1);如下:

    public function run()
    {
        $user=User::create([
            'name' => 'xiaoming',
            'email' => 'xiaoming@example.com',
            'password' => bcrypt('secret'),
            
        ]);
        $user->roles()->attach(1);
    }

問題:
現在要用DB類別來完成上述功能,下面程式碼的$user->roles()->attach(1);不能運行,
會報錯:

  [Symfony\Component\Debug\Exception\FatalThrowableError]
  Call to a member function roles() on boolean

該怎麼寫才行?

    public function run()
    {
        $user=DB::table('users')->insert([
            'name' => 'xiaoming',
            'email' => 'xiaoming@example.com',
            'password' => bcrypt('secret'),
        ]);
        $user->roles()->attach(1);
    }
迷茫迷茫2687 天前341

全部回覆(1)我來回復

  • 黄舟

    黄舟2017-05-16 16:49:37

    使用 DB 的時候,回傳的是一個 bool 值:

    $user=DB::table('users')->insert([
                'name' => 'xiaoming',
                'email' => 'xiaoming@example.com',
                'password' => bcrypt('secret'),
            ]);
    $user->roles()->attach(1);

    $user 是一個 bool 值。

    回覆
    0
  • 取消回覆