2016-11-07 96 views
0
I have three tables 
1. users 
id 
name 
email 
2. Listings 
id 
user_id 
name 
3 ListingImage 
id 
list_id 
image 

这里我想要一个查询中的数据。所有根据用户表格(id)提取的数据。 我想数据类似的东西如何从laravel中的多个表中提取数据

enter code here 
Array 
(
    [user] => Array 
     (
      [id] => 1 
      [name] =>abc 
      [email] => [email protected] 
      [listing]=> 
        Array 
        (
         [id] => 1 
         [user_id] => 1 
         [name] => abc list 
         [listingimage] => 

          [0] => Array 
           (
            [id] => 1 
            [list_id] => 1 
            [image] => abc.jpg 
           ) 
           [1] => Array 
           (
            [id] => 2 
            [list_id] => 1 
            [image] => abc.jpg 

           ) 

        ) 
       ) 
      ) 

我已经使用的hasMany,但它不会给我准确的结果谁能帮助我

回答

1

考虑关系是一对多的,你已经Listing模型类和ListingImage模型分别为ListingsListingImage表。

在你User模型

public function listings() 
{ 
    return $this->hasMany(Listing::class); 
} 

在你Listing型号

public function images() 
{ 
    return $this->hasMany(ListingImage::class, 'list_id', 'id') 
} 

现在

$user = User::with('listings.images')->findOrFail($id); 

会给你你想要的结果。

你可以在这里找到更多的细节:https://laravel.com/docs/5.3/eloquent-relationships#one-to-many

+0

做工精细Mahfuzul阿拉姆。现在,我面临一个问题,我只想要一个列表与多个图像。它返回我列表索引开始0 – kunal

+0

,如果你只想要一个列表,然后在'listings()'关系中将'hasMany'改为'hasOne'。简单! –

+0

非常感谢你:)这意味着很多:) – kunal

相关问题