sto ottenendo questo strano errore:Colonna non trovato: 1.054 Unknown colonna '0' nella 'lista campo' - laravel - non ho una colonna 0 ovunque nel mio codice
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)
La cosa è, non ho una colonna 0. Non ho una clausola where con 0
in nessun punto del mio codice. Sto usando una query di ambito.
mio controller è:
$action = $request->input('action');
$topic = $request->input('topic');
$thread = Thread::where('topic_id', $topic);
switch ($action) {
case ('locked'):
$thread->lock();
break;
}
Come potete vedere, non faccio molto. Sto solo cercando di bloccare un thread. Sto chiamando l'ambito del blocco nel mio modello Thread
. Ho un sacco di casi di switch, uno dei quali è lock
. Ho eseguito metà della query nella parte superiore, quindi non devo ripetermi. L'ho semplicemente memorizzato nella variabile $thread
in modo da poter eseguire azioni come $thread->delete()
e $thread->restore()
.
La mia domanda portata nel modello Discussione:
public function scopeLock($query)
{
return $query->where('locked', 0)->update(['locked', 1]);
}
Questo è tutto. Penso che potrebbe essere perché ho una clausola where che passa dal mio controller (Thread::where('topic_id', $topic)
) e lo sto solo continuando nel mio ambito.
Qualsiasi aiuto è molto apprezzato.
'$ thread = Thread :: where ('topic_id', $ topic) -> first();' Completa questa query e prova? –
Inoltre, '-> update (['locked' => 1]);' –
Continua a ricevere lo stesso errore. E ho molti thread, non solo uno che modificherò in modo che non funzioni. –