gpt4 book ai didi

mysql - 从 Laravel 中的三个表中选择而不指定 ON

转载 作者:太空宇宙 更新时间:2023-11-03 11:41:40 25 4
gpt4 key购买 nike

我有这个查询,当我在 phpmyadmin 中运行它时,它返回我想要的内容

SELECT c.category_id, c.category_name, sc.sub_cat_id, sc.sub_cat_name, dsc.dual_sub_cat_id, dsc.dual_sub_cat_name
FROM category c
JOIN sub_category AS sc
JOIN dual_sub_category AS dsc

我现在想在 Laravel 查询中写它,我试过了

$cat_display = DB::table('category')
->join ('sub_category')
->join ('dual_sub_category')
->get();

错误是

ErrorException: Missing argument 2 for Illuminate\Database\Query\Builder::join()

据我所知,错误是说我还需要在两个连接上添加 ON 子句,但我不想这样做,因为我没有匹配它们的依据。

我只想查询并显示这 3 个表中的字段。没有 ONWHERE 子句是否可行?

最佳答案

你可以通过 Laravel 关系来做到这一点:https://laravel.com/docs/5.3/eloquent-relationships

首先,创建一个类别 模型。

然后在 Category 模型中定义两个关系,如下所示。

class Category extends Model
{
/**
* @var string
*/
protected $table = 'category';

/**
* @return \Illuminate\Database\Eloquent\Relations\HasOne
*/
public function subCategory()
{
return $this->hasMany(SubCategory::class, 'category_id', 'category_id');
}

/**
* @return \Illuminate\Database\Eloquent\Relations\HasOne
*/
public function dualSubCategory()
{
return $this->hasMany(DualSubCategory::class, 'category_id', 'category_id');
}
}

注意:SubCategoryDualSubCategory 是模型。

在 Controller 中,您的函数使用下面的代码。

$cat_display = Category::with(['subCategory','dualSubCategory'])->get()

如果您在这里遇到任何问题,请告诉我。

关于mysql - 从 Laravel 中的三个表中选择而不指定 ON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41280550/

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