2016-04-18 4 views
0

私が読んだピボットテーブルエントリにpivot_created_atタイムスタンプの値が必要です。ピボットテーブルのデータへのアクセスピボットテーブルエントリの "created_at"タイムスタンプへのアクセス

enter image description here

すでに行われ、私はそうするために雄弁に使用されています

public function states() { 
     return $this->belongsToMany('App\Classes\DispatchState')->withTimestamps(); 
    } 

public function getStatesForDispatch($dispatchReference) { 
    $dispatch = new Dispatch(); 
    $dispatch = $dispatch->getDispatch($dispatchReference); 
    $statusArray = []; 
    $states = $dispatch->states()->get(); 

    foreach ($states as $status) { 
     $statusArray[] = $status; 
    } 

    return $statusArray; 
} 

しかし、どのように私は、タイムスタンプを読み出すために、このpivot_created_atエントリへのアクセスを得るのですか?私は今のところこだわっています。

+0

これらの質問...なぜあなたはドキュメントを読んでいないでしょうか?それがない場合はhttps://laravel.com/api/5.2/に行き、ピボットを検索します。 – Kyslik

答えて

2

Documentationより。ピボットデータにアクセスする方法は次のとおりです。

$user = User::find(1); 

foreach ($user->roles as $role) 
{ 
    echo $role->pivot->created_at; 
} 

だからあなたの場合には、それは次のようになります。

public function getStatesForDispatch($dispatchReference) { 
    $dispatch = new Dispatch(); 
    $dispatch = $dispatch->getDispatch($dispatchReference); 

    // ->all gets the internal array from the Laravel Collection 
    $statusArray = $dispatch->states->all(); 


    foreach ($statusArray as $status) 
    { 
     $createdAt = $status->pivot->created_at; 
     // do something with the created_at from the pivot table 
    } 

    return $statusArray; 
} 
関連する問題