繁体   English   中英

Laravel从外键获取数据

[英]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');
}

它们与外键链接AssignSubmissioniduser_idsubmission_id外键submission_id。 在提交表中,它具有iduser_idfileurl

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM