Laravel 4.でマイナーな問題が発生しています。レコードでdelete()
メソッドを使用したいのですが、何らかの理由で実際にはレコードが削除されません。 。destroy()
はそうですが、私のコードは良好です。また、Teetime::where('date', '=', $formattedDate)->count()
をビューに渡すと、正しいものが得られますが、問題は何ですか?
if($action=="delete") {
$teetime = Teetime::where('date', '=', $formattedDate)->firstOrFail();
// for some reason $teetime->delete() doesn't work
Teetime::destroy($teetime->id);
}
destroy
は、(オブジェクトまたはモデルを介して)エンティティを直接削除するための正しい方法です。例:
$teetime = Teetime::where('date', '=', $formattedDate)->firstOrFail();
$teetime->destroy();
delete
はクエリビルダでのみ呼び出すことができます例:
$teetime = Teetime::where('date', '=', $formattedDate)->delete();
ドキュメントから:
User::destroy(1);
User::destroy(array(1, 2, 3));
User::destroy(1, 2, 3);
もちろん、一連のモデルに対して削除クエリを実行することもできます。
$affectedRows = User::where('votes', '>', 100)->delete();