はじめに
PHP及びLaravelの勉強中。
基本的な部分だけどきちんと理解せずフワッと使用してるのでアウトプットしてみる。
設定
- CategoryモデルとItemモデルが1対多の関係性で存在
- Categoryモデル側 -> hasMany
- Itemモデル側 -> belongsTo
// $categoryの中身
$category = Category::query()->find(1);
プロパティアクセス
$category->items;
=> Illuminate\Database\Eloquent\Collection
返り値はCollectionクラス。foreachで回してEloquentモデルの利用ができる。
メソッドアクセス
$category->items();
=> Illuminate\Database\Eloquent\Relations\HasMany
返り値はHasManyクラス。さらにメソッドを呼んで色々できる。
$category->items()->get();
=> Illuminate\Database\Eloquent\Collection
getメソッド呼べばプロパティアクセスと同様にCollectionが返る。
$category->items()->where('id',1)->first();
=> Illuminate\Database\Eloquent
特定のEloquentモデルを得ることもできる。
他にも色々。