2017-09-06 8 views
0

私は別のテーブルに格納されているuser_idに基づいてユーザーテーブルからユーザー名を取得するために使用しようとしています。道路ブロックを捨てる。 私はループ(foreach)を試してから、必要なものを得るためにEloquentの正しい構文だと思ったものを使用していましたが、動作しません。 私は前にビューを使ってこれを行っていますが、それは動作しますが、コントローラでは動作しません。Laravel別のテーブルのuser_idに基づいてユーザー名を取得する

私のコードに基づいて、これがどのように動作するはずであるかを誰かに薦めることができます。

リードモデル:

class Lead extends Model 
{ 
    protected $fillable = [ 
     'bname', 'tname' 
    ]; 

    public function user() 
    { 
     return $this->belongsTo(User::class);  
    } 
} 

LeadController

class LeadController extends Controller 
{ 
    use Helpers; 

    public function index(Lead $leads) 
    { 


     $leads = $leads->get(); 

     //foreach $leads, get the username from 'user_id' from user table 

     //return the leads, without the user_id, but with the username 

     return $leads; 

    } 
} 

User.phpにおける機能(クラスユーザーが認証可能を拡張)

public function leads() 
{ 
    return $this->hasMany(Lead::class); 
} 

Schema::create('leads', function (Blueprint $table) { 
    $table->increments('lead_id')->nullable(false); 
    $table->string('bname')->nullable(false); 
    $table->string('tname')->nullable(); 
    $table->integer('user_id')->index(); 
    $table->timestamps(); 
}); 

リードの移行がうまくいけば、これはあなたに理にかなっていると誰かが私に:)

感謝を学ぶのを助けることができます。

答えて

1

あなたは

$ユーザーを使用することができます=ユーザー::どこ( 'ID'、$ユーザーID) - >最初の();

あなたのユーザーIDが変数に格納されており、 'id'がユーザーテーブルの列名であると仮定します。結果としてユーザーモデルがあり、ユーザーモデルにアクセスできます。

$名=する$ user->ユーザ名とユーザ名

関連する問題