Laravel雄辩的多态用户特定类别
我需要一些帮助来定义我的模型/与Laravel/Eloquent的关系 一般来说,我的想法是,用户可以创建类似ToDoList的项目,这些项目可以进行分类。项目可以在用户之间共享,但每个用户都可以拥有不同的“视图”,这意味着可以根据每个用户将项目添加到类别中。这些项目是多态的-这意味着有ToDoList、todos和notes。。这些都是可以分类的。类别可以创建为空,以后可以用项目“填充”。类别本身可以有父类别(与同一表上的ID相关) 目前我有这样的表格: 对于类别: 对于用户: 对于ToDoList之类的项目: 对我来说,“类别”表看起来有问题,因为:Laravel雄辩的多态用户特定类别,laravel,eloquent,eloquent-relationship,polymorphic-relationship,Laravel,Eloquent,Eloquent Relationship,Polymorphic Relationship,我需要一些帮助来定义我的模型/与Laravel/Eloquent的关系 一般来说,我的想法是,用户可以创建类似ToDoList的项目,这些项目可以进行分类。项目可以在用户之间共享,但每个用户都可以拥有不同的“视图”,这意味着可以根据每个用户将项目添加到类别中。这些项目是多态的-这意味着有ToDoList、todos和notes。。这些都是可以分类的。类别可以创建为空,以后可以用项目“填充”。类别本身可以有父类别(与同一表上的ID相关) 目前我有这样的表格: 对于类别: 对于用户: 对于ToD
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Todolist extends Model
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'shared', 'owner'
];
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = [
];
public function owner()
{
return $this->hasOne('App\User');
}
public function category()
{
return $this->morphOne('App\Category', 'categorizable');
}
}
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Category extends Model
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name'
];
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = [
];
public function categorizable()
{
return $this->morphTo();
}
public function user()
{
return $this->belongsTo('App\User');
}
}