簡體   English   中英

如何將原始 SQL 查詢轉換為 laravel 查詢構建器或 eloquent

[英]How do I convert raw SQL query into laravel querybuilder or eloquent

我很難在 phpmyadmin 中轉換這個原始的 MySQL 查詢。 我想將其轉換為 laravel 的查詢生成器或 eloquent。 我已經在 model 中配置了關系。 有人可以將我的查詢轉換為 querybuilder 和 eloquent 嗎? 我嘗試了一些轉換器,但它對我不起作用。 謝謝

原始查詢

SELECT count( * ) FROM users u, sectionschedules s, notes n 
WHERE u.parent_id=26 
AND u.section_id=s.section_id 
AND s.id = n.schedule_id;

我試過的查詢

$notes = DB::table('notes')
                    ->join('users', 'users.section_id', '=', 'notes.section_id')
                    ->join('sections','sections.section_id', '=', 'sectionschedules.section_id')
                    ->join('sectionschedules', 'sectionschedules.id','=','notes.schedule_id')
                    ->where('user.parent_id', '=', 26)
                    ->count();

我得到的錯誤

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'user.parent_id' in 'where clause

嘗試

  $notes = DB::table('sectionschedules')
           ->select('notes.*','sectionschedules.*','users.*')
           ->join('users','users.section_id', '=', 'sectionschedules.section_id')
           ->join('notes', 'sectionschedules.id','=','notes.schedule_id')
           ->where('users.parent_id', '=', 26)
           ->count();
$notes = DB::table('notes')
                ->join('users', 'users.section_id', '=', 'notes.section_id')
                ->join('sections','sections.section_id', '=', 'sectionschedules.section_id')
                ->join('sectionschedules', 'sectionschedules.id','=','notes.schedule_id')
                ->where('users.parent_id', '=', 26)
                ->count();

定義的 Users.parent id 不是 user.parent_id

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM