Probleme beim Schreiben von Daten in zugehörige Tabellen, wenn Laravel DB-Klassen verwendet
迷茫
迷茫 2017-05-16 16:47:37
0
1
421

Das Problem beim Schreiben von Daten in die zugehörige Tabelle, wenn Laravel die DB-Klasse verwendet:

Bei Verwendung der Fassade müssen Sie eine Rolle für den aktuellen Benutzer festlegen. Sie können $user->roles()->attach(1); wie unten gezeigt verwenden:

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

Problem:
Jetzt müssen wir die DB-Klasse verwenden, um die oben genannten Funktionen auszuführen. Der folgende Code $user->roles()->attach(1); kann nicht ausgeführt werden und
meldet einen Fehler:

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

Wie soll ich es schreiben?

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

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

Antworte allen(1)
黄舟

使用 DB 的时候,返回的是一个 bool 值:

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

$user 是一个 bool 值。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage