2017-08-08 11 views
0

オブジェクト: -
から - -Laravelアクセス値は、私は3つのテーブル持っ

available_offers - ID
- 日付
- 時間
user_idを

requested_offer -
へ - id
- user_id
- 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から結果

ユーザー をavailable_offersID出典: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

これはうまくいくはずです。なぜなら、ユーザーオブジェクトがadminと等しいプロパティ名を持つので、adminを出力する必要があるからです。 –

答えて

0

イーガーロードサブモデル

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

あなたが句を持つの一つとしてavailable_offers.userを追加することを確認してください。

関連する問題