0
我怎麼能寫在下面的MySQL查詢中使用laravel4Laravel子查詢加入
有兩個表 表1是fee_category與字段:
id | Category
1 | A
2 | B
3 | C
4 | D
表2是fee_charge與字段:
id | std_id | particularID | CategoryID | assign | amount
1 | 1 | 1 | 1 | 0 | 1000
2 | 1 | 1 | 2 | 1 | 12000
3 | 1 | 2 | 3 | 0 | 3000
4 | 1 | 2 | 4 | 0 | 10
5 | 2 | 1 | 2 | 0 | 100
6 | 2 | 2 | 3 | 0 | 120
我想寫下面查詢laravel4
SELECT fee_category.id
, fee_category.Category
, X.std_id
, X.particularID
, X.CategoryID
, X.assign
, X.amount
FROM fee_category
LEFT JOIN
(SELECT * FROM fee_charge
WHERE fee_charge.std_id = 1
AND fee_charge.particularID = 1) AS X
ON x.CategoryID = fee_category.id
我的嘗試是:
DB::table('fee_category')
->leftJoin((function ($query) use ($std_id, $particularID) {
$query->DB::raw("(SELECT * FROM fee_charge
WHERE fee_charge.std_id = $std_id
AND fee_charge.particularID = $particularID) AS X"
}), function($join)
{$join->on('fee_category.id', '=', 'X.CategoryID');})
->select('fee_category.id', 'fee_category.Category', 'X.std_id'
, 'X.particularID', 'X.CategoryID', 'X.assign', 'X.amount', 'X.dateOfCharge', 'X.dueDate'
)
->get();
獲取誤差T_PAAMAYIM_NEKUDOTAYIM