gpt4 book ai didi

mysql - 如何在 Laravel 中执行此操作,不在其中的子查询

转载 作者:太空宇宙 更新时间:2023-11-03 11:38:08 24 4
gpt4 key购买 nike

我需要将此查询转换为 Laravel 格式,我尝试使用 'WhereNotIn' ,但我没有得到我想要的结果。有人可以帮助我吗?

SELECT
em.erp_mlbid AS category_id

FROM
erp_product AS ep
INNER JOIN
erp_product_description AS epd ON epd.erp_productid = ep.erp_productid
INNER JOIN
erp_product_category AS epc ON epc.erp_productid = ep.erp_productid
INNER JOIN
erp_mlbcategory_erpcategory AS emc ON emc.erp_categoryid = epc.erp_categoryid
INNER JOIN
erp_mlb_category AS em ON em.erp_mcid = emc.erp_mlbcategoryid
INNER JOIN
erp_product_image AS epi ON epi.erp_productid = ep.erp_productid
WHERE
ep.erp_productid NOT IN (
SELECT
epm.erp_productid
FROM
erp_product_to_mlb AS epm
)
AND ep.erp_quantity > 0
AND ep.erp_status > 0
LIMIT
1

显然我的行 'WhereNotIn' 被忽略了,结果是一样的:

 $categoria = DB::table('erp_product')
->join('erp_product_category','erp_product_category.erp_productid', '=', 'erp_product.erp_productid')
->join('erp_mlbcategory_erpcategory', 'erp_mlbcategory_erpcategory.erp_categoryid', '=','erp_product_category.erp_categoryid')
->join('erp_mlb_category', 'erp_mlb_category.erp_mcid', '=', 'erp_mlbcategory_erpcategory.erp_mlbcategoryid')
->select('erp_mlb_category.erp_mlbid')
->whereNotIn('erp_product.erp_productid', function($q){
$q->select('erp_productid')->from('erp_product_to_mlb');
})
->get();

最佳答案

你有一个错字:

->whereNotIn('erp_product.erp_producid'

应该是:

->whereNotIn('erp_product.erp_productid'

注意拼写错误的 productid


您可以进行调试的一件事是删除 ->get() 调用,以便 $categoria 是一个查询对象,然后执行此操作,这样您就可以查看组装的查询:

dd($categoria->toSql());

关于mysql - 如何在 Laravel 中执行此操作,不在其中的子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44026001/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com