2017-08-08 65 views
0

我有3个表: -Laravel访问值对象

available_offers - ID
- 最新
- 时间
- 从
- 以
- USER_ID

requested_offer - id
- user_id
- available_offersID

用户 - ID
- 姓名
- 用户名
- 密码
- 电子邮件

这里我routes_bookedController

class routes_bookedController extends Controller 
{ 
public function create() 
{ 
    $user = available_offers::with('user')->get(); 
    $booked = requested_routes::with('available_offers', 'user') 
      ->where('user_id', Auth::id()) 
      ->get(); 

    return $booked; 

    return view ('routes_booked.show', compact('booked')); 
    } 
} 

这里从show.blade.php结果from routes_bookedController

[ 
    { 
     "id": 3, 
     "user_id": 4, 
     "available_offersID": 3, 
     "created_at": null, 
     "updated_at": null, 
     "available_offers": { 
      "id": 3, 
      "date": "2017-08-08", 
      "time": "14:11:30", 
      "from": "Sabah", 
      "to": "Sarawak", 
      "user_id": 2, 
      "isBooked": 1, 
      "created_at": null, 
      "updated_at": null 
    }, 
     "user": { 
      "id": 4, 
      "name": "admin", 
      "username": "user1", 
      "email": "[email protected]", 
      "created_at": "2017-08-08 06:15:49", 
      "updated_at": "2017-08-08 06:15:49" 
     } 
    } 
] 

是否可以从available_offers-> user-> name中获取名称?

这是我的模型: -

  1. requested_routes

    class requested_routes extends Model 
    { 
    public function available_offers() 
    { 
        return $this->belongsTo(available_offers::class, 'available_offersID'); 
    } 
    
    public function user() 
    { 
        return $this->belongsTo(User::class); 
    } 
    } 
    
  2. available_offers

    class available_offers extends Model 
    { 
    public function user() 
    { 
        return $this->belongsTo(User::class); 
    } 
    
    public function requested_routes() 
    { 
        return $this->hasMany(requested_routes::class); 
    } 
    } 
    
  3. 用户

    public function available_offers() 
    { 
        return $this->hasMany(available_offers::class); 
    } 
    
    public function requested_routes() 
    { 
        return $this->hasMany(requested_routes::class); 
    } 
    
+1

是的,这应该工作得很好。 – Jerodev

+0

它应该工作,因为当你dded你可以看到用户对象具有属性名称等于管理员,所以它应该输出管理员。 –

回答

0

渴望负荷子模型

$booked = requested_routes::with('available_offers', 'available_offers.user', 'user') 
     ->where('user_id', Auth::id()) 
     ->get(); 

确保您添加available_offers.user与条款的一个。