dqwh1209 2015-12-08 12:42
浏览 380

Laravel - 如何使用leftJoin和orWhere检查eloquent查询中是否存在字段

I have query:

$id = 16;

$orders = (new Order)->where(['orders.id' => $id])
        ->leftJoin('transactions', 'orders.id', '=', 'transactions.order_id')
        ->leftJoin('cards', 'cards.id', '=', 'transactions.card_id')
        ->orWhere('email', '=', 'aaaa@aaaa.com')
        ->orWhere('last4', '=', '5555')
        ->get();

If transactions have card everything is fine, but if card_id in transactions table is NULL error appears: "Column not found: 1054 Unknown column 'last4' in 'where clause".

How I can elegant solve this ? How to check if column "last4" exists ?

PS.

last4 is in table "cards.last4"

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 蓝桥oj3931,请问我错在哪里
    • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
    • ¥15 关于#Java#的问题,如何解决?
    • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
    • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
    • ¥15 cmd cl 0x000007b
    • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
    • ¥500 火焰左右视图、视差(基于双目相机)
    • ¥100 set_link_state
    • ¥15 虚幻5 UE美术毛发渲染