Masalah dengan menulis data ke jadual yang berkaitan apabila laravel menggunakan kelas DB
迷茫
迷茫 2017-05-16 16:47:37
0
1
395

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);
    }
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

membalas semua(1)
黄舟

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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan