我有5张桌子
-类别
- SubCategories
-马克
-供应商
我想知道如何与产品模型结构建立关系:
namespace App\Models\Products;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Product extends Model
{
use HasFactory;
protected $fillable = [.... ];
public function categorie(){
return $this->belongTo(categories::class);
}
public function sub_categorie(){
return $this->belongTo(sub_categorie::class);
}
public function marks(){
return $this->belongTo(marks::class);
}
public function suppliers(){
return $this->belongTo(suppliers::class);
}
}我想知道它是否正确?另一个问题是如何看待其他模式的关系,如供应商,类别,SubCategories .
发布于 2021-01-27 01:11:39
这取决于所涉及的基数和foreign_keys。
产品
-类别
- SubCategories
-马克
-供应商
您给我的上下文,我猜每个表都取决于前面的表,就像您给出的上下文中显示的那样。如果是这样,那么您可以执行以下操作:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Suppliers extends Model
{
protected $fillable = [.... ];
public function mark()
{
return $this->belongsTo(Mark::class);
}
}<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Marks extends Model
{
protected $fillable = [.... ];
public function subCategorie()
{
return $this->belongsTo(SubCategorie::class);
}
}<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class SubCategory extends Model
{
protected $fillable = [.... ];
public function categorie()
{
return $this->belongsTo(Categorie::class);
}
}<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Categorie extends Model
{
protected $fillable = [.... ];
public function categorie()
{
return $this->belongsTo(Product::class);
}
}<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Product extends Model
{
protected $fillable = [.... ];
}有关depht休眠的更多信息,您可以参考关于laravel:https://laravel.com/docs/8.x/eloquent-relationships上的关系一节。
发布于 2021-01-26 21:12:43
请使用正确的关系名称,而不是“类别”写“类别”在功能名称,与拉拉将自动识别外键。
示例:
public function category(){
return $this->belongTo(categories::class);
}
public function sub_category(){
return $this->belongTo(SubCategory::class);
}
public function mark(){
return $this->belongTo(Mark::class);
}
public function supplier(){
return $this->belongTo(Supplier::class);
}如果您有任何问题,请给我看看您的“模型”文件夹。
https://stackoverflow.com/questions/65908019
复制相似问题