Php 如何从laravel中的json对象获取关系数据
我有两种型号。主题2.条件。在这两者之间,我有1对1的关系。现在在这种情况下,我有一个外键subject\u id和d,它是json格式。现在,我想获取以json格式subject_id存储的subject name Subject.phpPhp 如何从laravel中的json对象获取关系数据,php,json,laravel,Php,Json,Laravel,我有两种型号。主题2.条件。在这两者之间,我有1对1的关系。现在在这种情况下,我有一个外键subject\u id和d,它是json格式。现在,我想获取以json格式subject_id存储的subject name Subject.php class Subject extends Model { protected $fillable=['name','department_id']; public function condition() { ret
class Subject extends Model
{
protected $fillable=['name','department_id'];
public function condition()
{
return $this->hasOne(Condition::class);
}
}
Condition.php
class Condition extends Model
{
protected $fillable=['subject_id','department_id','total'];
protected $casts=['subject_id' => 'array']
public function subject()
{
return $this->belongsTo(Subject::class);
}
}
在这里,我尝试获取所有主题名称表单json id的
$condition=Condition::find(4);
foreach ($condition->subject_id as $key => $subject) {
$list[]=$subject->subject->name;
}
dd($list);
我想知道是否可以从json id中检索主题名称,如果可以,请帮助我获取。
试试这个:
嘿,我有一个想法得到这个结果,就像下面使用
$condition=Condition::find(4);
$subjects=Subject::whereIn('id',$condition->subject_id)->get();
dd($subjects);
如果有人有更好的方法得到这个结果,请告诉我们它会给我错误,比如为foreach()提供的参数无效。为什么在subject_id字段中使用json格式?你为什么不使用整数呢?我有一个条件,就像你有三门学科物理、数学和化学,要注册一个系,我必须在这三门学科中获得50/60的分数,所以工作正常,兄弟,它说试图获得非对象的属性“subject\u id”
var\u dump($condition->subject)
?外键的输出是什么“json格式。”这是什么意思?无论你在做什么,都是错的。
$condition=Condition::find(4);
$subjects=Subject::whereIn('id',$condition->subject_id)->get();
dd($subjects);