ストアとコメントモデルが設定されており、ストアのコメントをすべて連結して返すリレーションシップを作成しました。私は熱心な読み込みを使用しようとするまで、これは正常に動作しています、そして、関係は常にNULLを返します。eager loadingを使用しているときにLaravel 5.1リレーションシップが動作しない
これは関係ある:
public function FormattedStoreComments()
{
return $this->hasOne('App\Models\StoreComment','StoreID','StoreID')
->select(DB::raw("group_concat(DATE_FORMAT(StoreComment.created_at,'%Y-%m-%d'), ' - ', ShortName, ' - ', Comment, '\n' ORDER BY StoreComment.created_at DESC SEPARATOR '') as Comments"))
->join('users','StoreComment.created_by','=','users.UserID')
->groupBy('StoreID')
->whereNull('StoreComment.deleted_at')
->orderBy('StoreComment.created_at','DESC');
}
が、これは熱心なロードで作業してはならない理由理由はありますか?
public function scopeFormattedStoreComments($query)
{
return $query->hasOne('App\Models\StoreComment','StoreID','StoreID')
->select(DB::raw("group_concat(DATE_FORMAT(StoreComment.created_at,'%Y-%m-%d'), ' - ', ShortName, ' - ', Comment, '\n' ORDER BY StoreComment.created_at DESC SEPARATOR '') as Comments"))
->join('users','StoreComment.created_by','=','users.UserID')
->groupBy('StoreComment.StoreID')
->whereNull('StoreComment.deleted_at')
->orderBy('StoreComment.created_at','DESC');
}
をして、あなたはこのようにそれを呼び出すことができます:
シェアウルコントローラあまりにもUができますか? –