[英]Laravel get data from the foreign key
我有两个表,一个叫做Submission
一个叫AssignSubmission
Submission
属于AssignSubmission
public function assignsubmission()
{
return $this->belongsTo('App\AssignSubmission');
}
AssignSubmission
hasMany Submission
public function submissions()
{
return $this->hasMany('App\Submission');
}
它们与外键链接AssignSubmission
有id
, user_id
和submission_id
外键submission_id。 在提交表中,它具有id
, user_id
和file
, url
等
在AssignSubmission
submission_id
- >链接- > Submission
id
。 我已将不同的提交分配给2个用户。
如何从外键获取数据? 我想在视图中显示网址或文件
我认为您的关系可能会倒退?
提交内容:
public function assignSubmissions()
{
return $this->hasMany(AssignSubmission::class);
}
AssignSubmission:
public function submission()
{
return $this->belongsTo(Submission::class);
}
如果您使用的是laravel关系。 然后,您可以执行以下操作:(假设您的提交表模型名为Submission
App\Submission::with('assignsubmission')->get();
如果您已经有一个Submission
对象$submission
,
$submission->assignSubmission->url
将为您提供url。
它将属性名称转换为camalCase。
您写错了关系,应该像这样的提交:
public function assignSubmissions()
{
return $this->hasMany('App\Submission');
}
AssignSubmission:
public function submission()
{
return $this->belongsTo('App\AssignSubmission');
}
为了获得结果,我正在考虑使用Submission和AssignSubmissions作为您的模型,因此您可以像这样获取:
$submission = App\Submission::find(1)->assignSubmissions;
$assignSubmissions = App\AssignSubmissions::find(1)->submission;
检查此链接以获取更多参考https://laravel.com/docs/5.7/eloquent-relationships#one-to-many
您应该尝试这样:
提交模型
public function assignsubmission()
{
return $this->hasMany('App\AssignSubmission');
}
分配提交模型
public function submissions()
{
return $this->belongsTo('App\Submission','submission_id');
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.