2017-08-08 68 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與條款的一個。