简体   繁体   English

Laravel Eloquent 加入表后不工作的地方

[英]Laravel Eloquent Where not working after joining table

Hi I have written a little query which doesnt seem to working when I use Eloquent but works when I write something similar in MySQL.嗨,我写了一个小查询,当我使用 Eloquent 时它似乎不起作用,但是当我在 MySQL 中编写类似的东西时它起作用。 Data isnt being retuned which shouldnt be due to my where clauses.数据没有被重新调整,这不应该是由于我的 where 子句。

I have written this query which isnt working as expected -我写的这个查询没有按预期工作 -

$invoices = Invoice::leftJoin('user_details', 'invoices.user_id', 'user_details.user_id')
    ->where('invoices.practice_id', '!=', 'user_details.practice_id')
    ->first();

It is returning data where the invoice.practice_id = user_details.practice_id它返回数据,其中invoice.practice_id = user_details.practice_id

I altered the query to prove it isnt working -我更改了查询以证明它不起作用 -

$invoices = Invoice::select('invoices.practice_id', 'user_details.practice_id')
    ->leftJoin('user_details', 'invoices.user_id', 'user_details.user_id')
    ->where('invoices.practice_id', '!=', 'user_details.practice_id')
    ->first();

The values returned the practice_id is 6, 6 which shouldnt be possible due to the following where clause where('invoices.practice_id', '!=', 'user_details.practice_id')返回的practice_id 的值是6, 6这不应该是由于以下where 子句where('invoices.practice_id', '!=', 'user_details.practice_id')

Have I done something wrong which I am just not seeing?我是不是做错了什么而我没有看到?

Thank you for any help you can provide!感谢您提供任何帮助!

UPDATE更新

Here is the DB schema for the invoice table这是发票表的数据库架构在此处输入图片说明

Here is the the DB schema fro the user_details table这是 user_details 表的数据库架构在此处输入图片说明

The expected result is mentioned above, no results should be returned if invoice_practice_id = user_details.practice_id上面提到的预期结果,如果invoice_practice_id = user_details.practice_id则不应返回任何结果

@Luke Rayner @卢克·雷纳

Try by rewriting line ->leftJoin('user_details', 'invoices.user_id', 'user_details.user_id')尝试重写line ->leftJoin('user_details', 'invoices.user_id', 'user_details.user_id')

to

->leftJoin('user_details', 'invoices.user_id', '=', 'user_details.user_id')

If not try to print Last query and post it如果没有尝试打印最后一个查询并发布它

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM