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);
}
黄舟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 值。