0

モデルドクター

class Doctor extends Model
{
    public function addresses() {
        return $this->belongsTo(Doctor::class);
    }
}

モデル住所

 class Address extends Model
    {
      public function doctors() {
          return $this->hasMany(Address::class);
      }
    }

ドクターコントローラー

class DoctorsController extends Controller
{
    public function index()
    {
        $doctors = Doctor::with('addresses')->get();

        return view('doctors.index',compact('doctors'));
    }
}

@foreach($doctors as $doctor)
    {{ $doctor->name }}
    @foreach($doctor->addresses as $address)
        {{ $address->city }}
    @endforeach

@endforeach

エラーが発生しました

foreach() に無効な引数が指定されました

Doctor と Address の関係を作ろうとしましたが、うまくいきません。dd($doctor->addresses) を試してみると、null になります。

4

2 に答える 2

0

リレーションシップで同じクラスを参照している場合 (「医師は医師に属する」)、これはおそらく機能しません。

試す:

class Doctor extends Model
{
    public function addresses() {
        return $this->hasMany(Address::class);
    }
}
 class Address extends Model
    {
      public function doctors() {
          return $this->belongsTo(Doctor::class);
      }
    }
于 2018-07-01T13:51:18.857 に答える