Tinkerを用いて複数のレコードをdeleteする方法


はじめに

Laravel8で開発中、誤って登録した複数のダミーデータをTinkerを用いて一括でdeleteしようとした際、ハマってしまったため、解決策をまとめました。

複数のレコードをdeleteする方法

前提:tinkerを立ち上げる。

artisanコマンドで行います。

php artisan tinker

上記を実行するとtinkerが立ち上がります。

①deleteしたいレコードの取得

idを指定してデータを取得します。

$data(任意) = App\Models\Data(モデル名)::find[1, 2](指定するid)

上記を実行すると$dataにid:1,2のデータを代入でき、代入された内容について表示されます。

②指定したレコードの削除

$data->each->delete()

上記を実行すると①で取得したデータを消去することができます。

おまけ

$data->delete()

レコードが1件の場合は上記を実行すると消去することができますが、
レコードが複数件の場合はdelete method does not exitのような(うろ覚えですみません)エラーがでます。