0
我有一個MySQL查詢,我想用Laravel 5的查詢生成器格式實現。Laravel 5.0查詢使用查詢生成器加入
我有表Items和FaceOff。在我的Laravel控制器中,我引用了名稱空間/ Items和名稱空間/ FaceOff模型。
查詢:
select i1.id as id1, i2.id as id2
from items i1
join
items i2
left join
faceoff f
on (f.wonid = i1.id and f.lostid = i2.id and userid = '1') or
(f.wonid = i2.id and f.lostid = i1.id and userid = '1')
where f.wonid is null and i1.id <> i2.id
order by rand()
limit 1;
什麼我遇到的麻煩是如何加入嵌套查詢和使用別名表。例如,這個簡單的查詢:
$items = Items::select('id as id1')
我可以別名的列名,但不知道如何別名整個查詢的結果。
總之,我試圖抓住2個在「頭對頭」面前沒有遇到的隨機物品。把它想象成兩個競爭者的搭檔 - 每個競爭者只應該支付一個競爭對手一次。所以,查詢應該返回ID1和ID2。那些應該是不同的ID,並且不是相互競爭的。
問:
有人可以幫我翻譯成Laravel的查詢生成器的格式呢?我懷疑我必須使用DB :: raw表達式。
我試過了,並且未能使用DB :: Raw表達式,它給出了一個關於不包含數據庫模型的錯誤。我也對開放SQL注入系統猶豫不決,無論如何,努力解決連接問題。
非常感謝您的幫助。
什麼在哪裏..和在同一張表 – 2016-03-31 02:04:30