簡體   English   中英

如何在laravel 5.8中組合兩個sql表

[英]How to combine two sql table in laravel 5.8

我正在嘗試比較兩個表以檢查用戶數據是否已經存在於另一個表中。 我展示了一些他們談論 whereRaw 的帖子,但細節不夠,我試圖運行查詢,但我沒有得到我想要的。

更新我有 2 張桌子,一張是為了兩個人之間的挑戰

Challenge Table  id,user_one, user_two, data_one, data_two,winner_id

我的第二張桌子是

vote Table id, user_id, battle_id, voted_user

我想檢查用戶是否已經對該表進行了投票,如果是,則跳過該挑戰表並向用戶顯示剩余的表數據。

$challenges = DB::table('challenges')->whereRaw([
            ['challenges.user_one', '!=', $uid],
            ['challenges.id', '!=', 'vote.id'],
        ])->orWhereRaw([
            ['challenges.user_one', '!=', $uid],
            ['challenges.id', '!=', 'vote.id'],
        ])->get();

您可以通過使用crossJoin來實現它

$challenges = DB::table('challenges')->crossJoin('vote')
        ->where('challenges.user_one', '!=', $uid)
        ->where('challenges.id', '!=', 'vote.id')
        ->orWhere('challenges.user_one', '!=', $uid)
        ->orWhere('challenges.id', '!=', 'vote.id')->get();

參考: https : //laravel.com/docs/5.8/queries

暫無
暫無

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

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