I have hasMany relationship in my User model;
JavaScript
x
/**
* Get the posts for the users.
*/
public function posts()
{
return $this->hasMany(Posts::class); //foreign key assigned by user_id
}
I need to get a foreign id in Eloquent data
Controller;
JavaScript
use AppModelsUser;
$posts = User::find(1)->posts;
foreach ($posts as $post) {
//
}
//for example
$foreign_key = $posts->foreign_key;
echo "all posts collection assigned foreign key is; ".$foreign_key;
Expected output;
1
How can I get the foreign key?
Advertisement
Answer
You can do the following. Since posts has hasmany
relation so it return collection of object even though you have one item in posts.
JavaScript
foreach ($posts as $post) {
echo $post->user_id;
}
or
JavaScript
dd($posts->first()->user_id);
If you still need one item from posts relationship then you can add one relationship
JavaScript
public function post()
{
return $this->hasOne(Posts::class); //foreign key assigned by user_id
}
then you can access
JavaScript
$posts = User::find(1)->post;
$foreign_key =$posts->user_id;