Rumah > Soal Jawab > teks badan
Masalah menulis data ke jadual yang berkaitan apabila laravel menggunakan kelas DB:
Apabila menggunakan fasad, anda perlu menetapkan peranan untuk pengguna semasa Anda boleh menggunakan $user->roles()->attach(1);
seperti yang ditunjukkan di bawah:
public function run()
{
$user=User::create([
'name' => 'xiaoming',
'email' => 'xiaoming@example.com',
'password' => bcrypt('secret'),
]);
$user->roles()->attach(1);
}
Masalah:
Sekarang kita perlu menggunakan kelas DB untuk melengkapkan fungsi di atas Kod berikut $user->roles()->attach(1);
tidak boleh dijalankan dan
akan melaporkan ralat:
[Symfony\Component\Debug\Exception\FatalThrowableError]
Call to a member function roles() on boolean
Bagaimana saya harus menulisnya?
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
Apabila menggunakan DB, nilai bool dikembalikan:
$user=DB::table('users')->insert([
'name' => 'xiaoming',
'email' => 'xiaoming@example.com',
'password' => bcrypt('secret'),
]);
$user->roles()->attach(1);
$pengguna ialah nilai bool.