のどこに0の列を持っていない:コラム:1054不明な列「0」「フィールドリスト」で - Laravel - 私はこの奇妙なエラーを取得しています私のコード
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)
事私は0列を持っていません。私は0
のwhere節を私のコードのどこにも持っていません。スコープクエリを使用しています。
私のコントローラは、次のとおりです。
$action = $request->input('action');
$topic = $request->input('topic');
$thread = Thread::where('topic_id', $topic);
switch ($action) {
case ('locked'):
$thread->lock();
break;
}
あなたが見ることができるように、私はあまりをしません。私はスレッドをロックしようとしています。 Thread
モデルのロックスコープを呼び出しています。私は多くのスイッチケースを持っており、そのうちの1つはlock
です。私はトップでクエリの半分を実行したので、自分自身を繰り返す必要はありません。私は単に変数$thread
にそれを保存して、$thread->delete()
と$thread->restore()
のようなアクションを実行できるようにしました。
スレッドモデルでの私の質問スコープ:
public function scopeLock($query)
{
return $query->where('locked', 0)->update(['locked', 1]);
}
それです。私は私のコントローラ(Thread::where('topic_id', $topic)
)から渡すWhere句を持っているので、私はそれが私の範囲にそれを続けていると思う。
ご協力いただきまして誠にありがとうございます。
'$ thread = Thread :: where( 'topic_id'、$ topic) - > first();'このクエリを完了して試してみますか? –
また、 ' - > update(['locked' => 1]); ' –
まだ同じエラーが発生しています。そして私は多くのスレッドを持っています。私はそれがうまくいかないように編集しているだけではありません。 –