1
を表示するには、モデルによってリンク雄弁。私はAreaモデルとSubareaモデルを持っています。エリアには多くのサブエリアがあり、サブエリアはエリアに属しています。私は、モデルをリンクして(正しい用語が不明)、1つの領域のすべてのサブ領域を見つけようとしています。Laravelはこれが初心者質問ですデータ
これらは私のモデルです。コントローラで
class Area extends Model
{
public function subarea()
{
return $this->hasMany(Subarea::class);
}
}
class Subarea extends Model
{
public function area() {
return $this->belongsTo(Area::class);
}
}
、私は
、私は次のことを行うことができるよ、とそれが動作レールで@foreach($areas->subareas as $subarea)
{{ $subarea->subarea_name }}
@endforeach
、ビューで
public function index()
{
$areas = Area::all();
return view('area.area', compact('areas'));
}
をしています
<% areas.subareas.each do |subarea| %>
<tr>
<td><%= subarea.subarea_name %></td>
</tr>
<% end %>
は私が間違ってやっていると指摘することができ、誰です ここに?ボーナスの質問なども
、。すべての領域を取得し、それをビューに渡すのに適した場所はありますか?私は悪い習慣であることを知っているモデルでクエリを持っています。誰かが私が代わりにどこに置くべきか知っていますか?
ありがとうございます!
更新
これは私が
を取得していますエラーです未定義のプロパティ:\データベースを照らす\雄弁\コレクション:: $サブエリア
こんにちは、コメントありがとうございます。あなたが提案したとおりに変更され、上記のエラーが発生しています。 – Aptorian
リクエストも変更しましたか? '$ area = Area :: with( 'subarea') - > get();' –
私はして、エラーメッセージは同じです。奇妙な... – Aptorian