[英]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.