2016-11-29 26 views
0
//viewing tickets generated by them 
     $user= Auth::user()->_id; 
     $tickets = ticket::where(function ($query) use ($user) { 
      $query->where('user', '=', $user); 
     })->get(); 


    // created ticket by which user 
    $atickets = ticket::where(function ($query) use ($user) { 
     $query->where('user_assigned', '=', $user); 
    })->get(); 


    return view('ticketviews', compact('tickets','atickets')); 

$ atickets返回記錄的詳細信息,如USER_ID和票務信息檢索的用戶名從另外一個集合,現在我需要顯示的用戶名存儲在另一個集合的MongoDB特定的記錄。任何人都可以建議我這樣做的代碼。我怎樣才能通過使用laravel加入

enter image description here

+0

使用只是'$ atickets =票::在哪裏( 'user_assigned',$用戶) - >得到()' – ATIKON

+0

我想顯示的用戶名,而不是USER_ID那存儲在用戶表中。我怎麼能這樣做 –

+0

我不認爲你可以在MongoDB中執行連接或任何類似的東西。如果你使用的是SQL,你可以這樣做: $ atickets = ticket :: join('users','tickets.user_id','=','users.id') - > get() 這是假設你的表是'門票'和'用戶',門票表有'user_id'。 – devk

回答

0

@ATIKON,其工作我改變了代碼爲

$ user = Auth :: user() - > _ id; $ tickets = ticket :: where('user','=',$ user) - > get();很多

foreach($tickets as $t){ 
     $use = $t->user; 
     $us = User::where('_id', '=', $use)->get(); 
     foreach($us as $a) 
     { 
      $username=$a->name; 
      $t['name']=$username; 
     } 
    } 
    foreach($tickets as $t) { 
     $use1 = $t->user_assigned; 
     $us1 = User::where('_id', '=', $use1)->get(); 
     foreach ($us1 as $a1) { 
      $username1 = $a1->name; 
      $t['namea'] = $username1; 
     } 
    } 

感謝幫忙

0

在模型 插入創建關係,這對你的車票模型

public function user(){ return $this->hasOne('PATH_TO_USER_MODEL', 'foreign_key', 'local_key'); }

之後,你可以訪問用戶數據,如:

$tickets = ticket::where('user_assigned', Auth::user()->_id)->with('user')->get(); 後,您可以訪問您的用戶數據,如$tickets->user->name

+0

得到此錯誤: –

+0

未定義的屬性:Illuminate \ Database \ Eloquent \ Collection :: $ user –

+0

@LeoImmanuel您是否在模型中添加了「user」關係函數? – ATIKON