我有以下表格
表格检查
id
name ...
表格设置类型
id
name
level //references id on table check
表格设置
type, //references type on table setting type
name
value
所以基本上我想用设置
返回所有支票所以我的模特
1.检查模型//引用表检查
public function settingsval(){
return $this->hasMany('App\AppSettingTypes','name','name.setting');
}
在我的AppSettingTypes //引用表设置类型
上 public function settings(){
return $this->hasMany('App\AppSetting','id','type');
}
我的控制器就是这么做
CheckModel::with('settingsval')
但每次设置数组都是空的,即使有数据
可能出现什么问题?
答案 0 :(得分:2)
如果表level
的{{1}}列包含对检查表的引用,那么您的映射将类似于
setting type
hasMany定义
public function settingsval(){
return $this->hasMany('App\AppSettingTypes','level','id');
}
如果您可以为hasMany($related, $foreignKey, $localKey)
而不是check_id
等相关列使用更好的命名约定,那就更好了
答案 1 :(得分:0)
如果表level
的{{1}}列包含对检查表的引用,那么您的映射将是
setting type
在表格public function settingsval(){
return $this->belongsTo('YourCheckModelname','level');
}
中,模型的映射类似于
check
同样明智的是,如果表public function settingtype(){
return $this->hasMany(\App\AppSettingTypes::class);
}
的{{1}}列包含对设置类型表的引用,那么您的映射就像
type
和setting
模型中的映射类似
public function settings(){
return $this->belongsTo('YourSettingTypeModelname','type');
}
然后你必须在控制器中
setting type