Ich erhalte diese seltsamen Fehler:Spalt nicht gefunden: 1054 Unknown column '0' in 'field list' - Laravel - ich habe nicht eine 0-Spalte überall in meinem Code
SQLSTATE[42S22]: Column not found: 1054 Unknown column '0' in 'field list' (SQL: update
forum_threads
set0
= locked,1
= 1,updated_at
= 2016-03-17 16:01:59 wheretopic_id
= 3 andforum_threads
.deleted_at
is null)
Die Sache ist, ich habe keine 0 Spalte. Ich habe keine Where-Klausel mit einer 0
irgendwo in meinem Code. Ich verwende eine Bereichsabfrage.
Mein Controller ist:
$action = $request->input('action');
$topic = $request->input('topic');
$thread = Thread::where('topic_id', $topic);
switch ($action) {
case ('locked'):
$thread->lock();
break;
}
Wie Sie sehen können, habe ich nicht viel tun. Ich versuche nur einen Thread zu sperren. Ich rufe den Lock-Bereich in meinem Thread
Modell. Ich habe viele Schalterfälle, von denen einer lock
ist. Ich habe die Hälfte der Abfrage oben ausgeführt, damit ich mich nicht wiederholen muss. Ich habe es einfach in der $thread
Variable gespeichert, so dass ich Aktionen wie $thread->delete()
und $thread->restore()
ausführen kann.
Mein Abfragebereich in Thread-Modell:
public function scopeLock($query)
{
return $query->where('locked', 0)->update(['locked', 1]);
}
Das ist es. Ich denke, es kann sein, weil ich eine Where-Klausel von meinem Controller (Thread::where('topic_id', $topic)
) übergeben habe und ich setze es gerade auf meinem Bereich fort.
Jede Hilfe wird sehr geschätzt.
'$ thread = Thread :: wo ('topic_id', $ topic) -> first();' Diese Abfrage vervollständigen und versuchen? –
Außerdem, '-> update (['gesperrt' => 1]);' –
Immer noch der gleiche Fehler. Und ich habe viele Threads, nicht nur eine, die ich bearbeiten werde, das würde nicht funktionieren. –