Ich arbeite mit einer Datenbank, in der ID-Spalte namens user_id.Laravel primaryKey override Ignoriert - Abfrage zurückgeben unbekannter Spaltenfehler
Ich habe die $ primaryKey override im Benutzermodell festgelegt, aber es ist immer noch auf der Suche nach id
. Es erscheint, wenn das Benutzermodell Authenticatable erweitert, wird es ignoriert. Authentifizierbar erweitert modal, sollte also kein Problem sein, oder?
Ich habe viele Threads gesehen, in denen primaryKey override nicht funktioniert, aber nichts hat geholfen.
Fehler beim Zugriff auf Benutzer:
Column not found: 1054 Unknown column 'id' in 'where clause' (SQL: select count(*) as aggregate from `members` where `email` = [email protected] and `id` <> 1804)
Benutzermodell:
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use Notifiable;
protected $table = 'members';
protected $primaryKey = 'user_id';
aktualisieren produziert Fehler:
public function rules()
{
$user = Auth::user();
return [
'email' => [
'required',
'email',
Rule::unique($user->getTable())->ignore($user->getKey()),
],
'first_name' => 'required',
'last_name' => 'required',
];
}
DB Säule:
Name | Type | Attributes | Null | Extra
user_id (PrimaryKey) | int(60) | Unsigned | No | AUTO_INCREMENT
Bitte zeigen Sie den Code, der den Fehler generiert. –
Können wir den 'Spaltentyp' aus der Datenbank sehen? – Ohgodwhy
@Klav Ich glaube nicht, dass die Abfrage, die Sie gezeigt haben, generiert diese SQL 'Auswahl Anzahl (*) als Aggregat von Mitgliedern, wo E-Mail = [email protected] und ID <> 1804' –