を動作させることはできません。は、私は3つのテーブルを持っているhasManyThroughが
今、私は会社の取引を通じて各会社のブローカーのリストを取得したいと考えています。これを行うために、私はhasManyThrough()がその仕事をすると思った。しかし、私はそれを働かせることはできません。会社 - >ブローカー、
class Company extends Model
{
protected $table = 'nCompanies';
protected $primaryKey = 'nCompanyId';
public function transactions()
{
return $this->hasMany('App\Transaction', 'nCompanyId');
}
public function brokers()
{
//This does not work
return $this->hasManyThrough('App\Broker', 'App\Transaction', 'nCompanyId', 'nBrokerId');
}
}
以下の作品が、私はそれぞれの会社のためにブローカーのコレクションを取得するために、モデルにしてこれを行うことを好むだろう:私の会社のモデルの中で
私はこれを持っています平らなリストの代わりに。
$companies = DB::table('nCompanies')
->join('nTransactions', 'nCompanies.nCompanyId', '=', 'nTransactions.nCompanyId')
->join('nBrokers', 'nTransactions.nBrokerId', '=', 'nBrokers.nBrokerId')
->selectRaw('nBrokers.*, nCompanies.*)
->groupBy('nCompanies.nCompanyId', 'nBrokers.nBrokerId')
->get();
どうすればこの問題を解決できますか? hasManyThroughの代わりに別のものを使うべきですか?
ありがとう!できます – Josef