如何将我的查询更改为 laravel eloquent ORM?
how to change my query into laravel eloquent ORM?
我有这样的查询:
SELECT
t1.id as id_guru, t1.nama_guru,
COALESCE(t2.total, 0) AS total
FROM `guru` t1
LEFT JOIN(SELECT id_guru, COUNT(*) as total FROM absensi_guru where status_masuk = "Terlambat" GROUP BY id_guru) t2 ON t1.id = t2.id_guru
我想将我的查询更改为 laravel Eloquent ORM,我从这个站点甚至在 laracast 中尝试了很多方法。
如果我是你,我将使用你的查询在 MySQL 中创建一个视图,然后使用 Eloquent 或 Laravel 中的查询生成器来查询数据库。
以防万一,如果您想直接在 Laravel 中而不使用视图,则需要定义 Eloquent 关系。您可能会找到有关 eloquent 关系的更多信息 HERE
要在 Laravel 中使用,这里有一个示例代码,只是不要复制粘贴,理解它并更新您的查询
$multipleitems = DB::table('items')
->leftJoin('votes','items.itemId','=','votes.masterItemId')
->select('items.itemId',DB::raw('ifnull(sum(votes.votes),0) as voteSum'))
->whereBetween('votes.voteDate',array($startDate,$endDate))
->where($condition)
->groupBy('items.temId')
->get();
这是
我有这样的查询:
SELECT
t1.id as id_guru, t1.nama_guru,
COALESCE(t2.total, 0) AS total
FROM `guru` t1
LEFT JOIN(SELECT id_guru, COUNT(*) as total FROM absensi_guru where status_masuk = "Terlambat" GROUP BY id_guru) t2 ON t1.id = t2.id_guru
我想将我的查询更改为 laravel Eloquent ORM,我从这个站点甚至在 laracast 中尝试了很多方法。
如果我是你,我将使用你的查询在 MySQL 中创建一个视图,然后使用 Eloquent 或 Laravel 中的查询生成器来查询数据库。
以防万一,如果您想直接在 Laravel 中而不使用视图,则需要定义 Eloquent 关系。您可能会找到有关 eloquent 关系的更多信息 HERE
要在 Laravel 中使用,这里有一个示例代码,只是不要复制粘贴,理解它并更新您的查询
$multipleitems = DB::table('items')
->leftJoin('votes','items.itemId','=','votes.masterItemId')
->select('items.itemId',DB::raw('ifnull(sum(votes.votes),0) as voteSum'))
->whereBetween('votes.voteDate',array($startDate,$endDate))
->where($condition)
->groupBy('items.temId')
->get();
这是