Laravel 什么时候使用belongsTo,什么时候有很多?
如果我不对,请纠正我 有表Laravel 什么时候使用belongsTo,什么时候有很多?,laravel,laravel-5.2,Laravel,Laravel 5.2,如果我不对,请纠正我 有表产品和类别 每种产品都有自己的类别。所以,它可能不止一个 所以,不,我需要按指定类别选择所有产品 我应该在模型中使用什么样的关系:属于,或者有许多? 这是重要的顺序吗?因为产品有多个类别,而类别可以有多个产品,这被称为 如果我们转到,您将看到您想要使用belongToMany()。这意味着,如果您希望能够从类别检索所有产品,您可以这样做(无耻地从Laravel的文档中复制): 由于产品有多个类别,而类别可以有多个产品,因此这称为一个 如果我们转到,您将看到您想要使用be
产品
和类别
每种产品都有自己的类别。所以,它可能不止一个
所以,不,我需要按指定类别选择所有产品
我应该在模型中使用什么样的关系:属于
,或者有许多
?
这是重要的顺序吗?因为
产品
有多个类别
,而类别
可以有多个产品
,这被称为
如果我们转到,您将看到您想要使用belongToMany()
。这意味着,如果您希望能够从类别
检索所有产品
,您可以这样做(无耻地从Laravel的文档中复制):
由于
产品
有多个类别
,而类别
可以有多个产品
,因此这称为一个
如果我们转到,您将看到您想要使用belongToMany()
。这意味着,如果您希望能够从类别
检索所有产品
,您可以这样做(无耻地从Laravel的文档中复制):
很抱歉我的困惑…但是,一个产品可以有多个类别(或只有一个)?产品有多个类别我很抱歉我的困惑…但是,一个产品可以有多个类别(或只有一个)?产品有多个类别所以,我按类别获得所有产品,可能是方法
products()
应该在产品模型中
?在产品
模型中,我会有一个类似的categories()
方法。这是因为,如果您有一个$category
对象,您希望能够从中获取产品。在本例中,您可以说$category->products()
,它将从多对多关系中获取所有产品。如果在产品
模型上执行相反的操作,则可以$Product->categories()
获取产品的类别。好的,那么如何调用它?类似于:Product::all()->products()
::all()
返回要循环通过的。对不起,我想我不明白你的最终目标是什么Product::all()
返回一个集合
或产品
对象…您想用它做什么,找到类别
?我在这个假设下更新了我的问题。我需要按类别获取所有产品。例如,选择类别为1的所有产品,我按类别获取所有产品,可能是方法products()
应该在productmodel
中?在Product
模型中,我将使用类似的categories()
方法。这是因为,如果您有一个$category
对象,您希望能够从中获取产品。在本例中,您可以说$category->products()
,它将从多对多关系中获取所有产品。如果在产品
模型上执行相反的操作,则可以$Product->categories()
获取产品的类别。好的,那么如何调用它?类似于:Product::all()->products()
::all()
返回要循环通过的。对不起,我想我不明白你的最终目标是什么Product::all()
返回一个集合
或产品
对象…您想用它做什么,找到类别
?我在这个假设下更新了我的问题。我需要按类别获取所有产品。例如,选择类别为1的所有产品
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Category extends Model
{
/**
* The products that belong to the category.
*/
public function products()
{
return $this->belongsToMany('App\Product');
}
}
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Product extends Model
{
/**
* The categories that belong to the product.
*/
public function categories()
{
return $this->belongsToMany('App\Category');
}
}
$products = Product::all();
foreach($products as $product) {
// var_dump($product);
$categories = $product->categories();
foreach($categories as $category) {
// var_dump($category);
}
}