如何從承包商表中獲取或顯示公司列并將其放入我的刀片中?我已經嘗試通過使用 hasManyThrough 關系來解決這個問題,但它不起作用,因為我引用的所有示例都與我沒有相同的流程。承包商表id
company住宅表id
contractor_id買家表id
residential_id這是模型承包商.php<?phpnamespace App;use Illuminate\Database\Eloquent\Model;class Contractor extends Model{ protected $table = 'contractors'; protected $fillable = ['user_id','company','address','phone_no','email','avatar']; public function residential() { return $this->hasMany(Residential::class); } public function buyers() { return $this->hasManyThrough('App\Buyer', 'App\Residential'); } public function buyer() { return $this->hasOneThrough('App\Buyer', 'App\Residential'); }}如果我執行這種代碼,它將是$contractor->buyer。雖然我希望它是 $buyer->contractor->company買家.php<?phpnamespace App;use Illuminate\Database\Eloquent\Model;class Buyer extends Model{ protected $fillable = ['buyer_id', 'name', 'address', 'phone_no', 'email', 'avatar', 'user_id', 'residential_id']; public function residential() { return $this->belongsTo(Residential::class); }}住宅.php<?phpnamespace App;use Illuminate\Database\Eloquent\Model;class Residential extends Model{ protected $fillable = ['name','res_code','postcode','city','state','image','contractor_id']; public function contractor() { return $this->belongsTo(Contractor::class); } public function buyer() { return $this->hasMany(Buyer::class); }}BuyerController.php public function index(Request $request) { if(Auth::user()->role == 'buyer') { $buyers = Buyer::where('user_id', '=', Auth::id())->first(); return view('buyers.index',['buyer'=>$buyers]); }這是我正在處理的視圖,并且沒有循環,因為這是買家登錄的個人資料。根據上面的查看代碼,我已經為Residence做好了關系:但我無法為Contractor做這件事:我希望有人幫助我。
在 Laravel 中使用有很多 through 關系
慕田峪7331174
2024-01-19 15:02:14