LoginSignup
0
0

More than 5 years have passed since last update.

laravelで論理削除を無効にしてloadする

Last updated at Posted at 2018-09-08

laravelでloadした時に、取得する側の論理削除を無効にしてデータを取得する方法をまとめています。
laravelのバージョンは5.1です。

usersとpostsが1対Nであるとします。
usersテーブルで論理削除されていてもユーザーの情報を取得したい場合には以下のように記述します。

$posts = App\Post::all();
$posts->load(['user' => function($query) {
    $query->withTrashed();
});

論理削除したデータも取得する場合はwithTrashed()を使います。
loadで検索条件を追加する場合は、キーにモデル名、値はクエリインスタンスを受け取る「クロージャ」となる配列を記述し、クロージャ内に検索条件を記述します。

以下を参考にさせていただきました。
https://stackoverflow.com/questions/21995670/how-to-use-withtrashed-when-im-querying-using-eager-loading

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0