gpt4 book ai didi

php - 如何将原始查询替换为 laravel 格式

转载 作者:行者123 更新时间:2023-11-29 01:49:16 27 4
gpt4 key购买 nike

DB::select("SELECT products.* ,categories.* FROM products 
INNER JOIN category_products ON category_products.product_id = products.id
INNER JOIN categories ON category_products.category_id = categories.id
WHERE categories.slug='$slug'")

此行查询工作正常,但我无法像这样访问它们的关系

$product->Categories->first()->name

@foreach($product->Images as $image)

我的产品型号如下:

class Product extends Model
{
public function Category(){
return $this->hasMany(CategoryProduct::class);
}
public function getCategory($id){
return Category::find($id)->name;
}
public function Images(){
return $this->hasMany(Image::class);
}

public function Categories()
{
return $this->belongsToMany(Category::class, 'category_products');
}
}

那么如何将我的代码转换为 Laravel eloquent

最佳答案

请检查此文档 https://laravel.com/docs/5.0/eloquent#querying-relations

根据文档,您可以这样更改代码:

$products= Product::whereHas('Categories', function($q) use ($slug)
{
$q->where('slug', $slug);

})->get();

关于php - 如何将原始查询替换为 laravel 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52330700/

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