Laravelで追加したスコープ(addGlobalScope)を外す方法

laravel-withoutglobalscope
  • URLをコピーしました!

以前、LaravelTraitsトレイト)を利用してスコープの追加(addGlobalScope())をご紹介した記事を覚えているでしょうか?
単純な会員制のCRUDなら良いのですが、自分自身が登録したものしか表示されないので、会員が作成したものを全体に公開するような場合は、データベースから取得する際に普段のクエリ1ワード加えます。

あわせて読みたい
【Laravel】DB登録で必ずuser_idを入れ、検索は自動でuser_idを含ませる方法 例えば、データベースに登録する際、どのユーザーが登録したかを記録しておきたい場合、もしくは、登録したユーザーのみ閲覧・編集・削除を可能にしたい場合などには、...
目次

withoutGlobalScope()

実を言うと、以前の記事内で紹介していた参考サイトに書いてありました。
単純に私が忘れてただけですね…。

スコープを外す場合は、以下のようにwithoutGlobalScope()を追記します。

例えば、このようにスコープ追加している場合は、

こうすることで、user_idを検索対象から外してデータを取得することができます。

ああ、便利なLaravel

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次