LoginSignup
0
1

More than 5 years have passed since last update.

わたしのLaravelメモ(随時更新)

Last updated at Posted at 2016-11-16

はじめに

ドキュメント読んでもよくわかんなかったことの我流メモです

whereHas()

Postが1つでも紐付いていて且つ、comments.content like "foo%"のComment

$posts = Post::whereHas('comments', function ($query) {
    $query->where('content', 'like', 'foo%');
})->get();

whereRaw()

where()でDB::raw()を使いたい時はwhereRaw()をつかう

$hoge->where(DB::raw('DATEDIFF(started_at, CURRENT_DATE)'))->get();

ってやると実際のクエリは

select * from `recruit_periods` where DATEDIFF(started_at, CURRENT_DATE()) = 0 is null

となっていて「??」と思って調べたらwhere()で生クエリを書きたい時はwhereRaw()でかくと出てきた
だから正解は

$hoge->whereRaw('DATEDIFF(started_at, CURRENT_DATE)')->get();

ちなみにwhereIn()を生クエリで書きたい時は
whereRaw('action IN ('create', 'delete')')
みたいに書く

0
1
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
1