I have two table one is called Submission
one called AssignSubmission
Submission
belongTo AssignSubmission
public function assignsubmission()
{
return $this->belongsTo('App\AssignSubmission');
}
AssignSubmission
hasManySubmission
public function submissions()
{
return $this->hasMany('App\Submission');
}
They are linked with foreign keys In AssignSubmission
has id
, user_id
and submission_id
the foreign key is submission_id. In Submission table, it has id
, user_id
and file
, url
etc
in AssignSubmission
submission_id
-> links to -> Submission
id
. I have assigned different submission to 2 users.
How can I get data from the foreign key? I want to display the url or file in the view
If you have a Submission
object $submission
already,
$submission->assignSubmission->url
will give you the url.
It converts to camalCase for property name.
If you are using laravel relation. Then you can do this: (assuming that your submission table model is named Submission
App\Submission::with('assignsubmission')->get();
I think your relationships might be backwards?
Submission:
public function assignSubmissions()
{
return $this->hasMany(AssignSubmission::class);
}
AssignSubmission:
public function submission()
{
return $this->belongsTo(Submission::class);
}
You have written the wrong relationship, It should be like this Submission:
public function assignSubmissions()
{
return $this->hasMany('App\Submission');
}
AssignSubmission:
public function submission()
{
return $this->belongsTo('App\AssignSubmission');
}
To get the results,i am considering Submission and AssignSubmissions is your models, so you can fetch like,
$submission = App\Submission::find(1)->assignSubmissions;
$assignSubmissions = App\AssignSubmissions::find(1)->submission;
Check this link for more reference https://laravel.com/docs/5.7/eloquent-relationships#one-to-many
You should try this:
Submissions Model
public function assignsubmission()
{
return $this->hasMany('App\AssignSubmission');
}
AssignSubmission Model
public function submissions()
{
return $this->belongsTo('App\Submission','submission_id');
}