私はこのテーブルの構造を持っているが、project
はrewards and shipping
は、ピボットテーブルreward_ship
とmany to many
関係を持って、rewards
とone to many
関係を持っています。Laravelモデル
projects rewards shipping reward_ship
--------- -------- -------- ------------
id id id id
title amount location reward_id
amount project_id name ship_id
私は1つのクエリ内の他のすべての仲間のテーブルデータ1つの特定のproject
詳細(reward_ship
テーブルを使用してrewards and shipping
データ)を抽出しようとしています。
これらは、私はそれが動作しません
プロジェクトモデル
class Rewards extends Model {
public function projs(){
return $this->hasMany('App\Rewards');
}
public function rewds(){
return $this->belongsToMany('App\Shipping')
->withPivot('reward_ship', 'ship_id', 'reward_id');
}
public function shiplc(){
return $this->belongsToMany('App\Rewards')
->withPivot('reward_ship', 'ship_id', 'reward_id');
}
}
class Rewards extends Model {
public function proj() {
return $this->belongsTo('App\Projects');
}
}
コントローラのAPIクラス
Route::get('projects/{id}', function($id) {
$p = Projects::find($id);
$getd = Rewards::with('proj')
->where('rewards.project_id', '=', $p->id)
->get();
});
をしようとしている方法です。 larvelで多くの関連モデルベースクエリを検索して試しました。 私の実装が間違っていることを知っています。私は解決するように提案してください。
シングルクエリではどういう意味ですか? –
私は報酬でプロジェクトを抽出し、データを発送することを意味します –
これを確認してくださいhttps://stackoverflow.com/questions/23788844/hasmanythrough-with-one-to-many-relationship/23789210#23789210 –