как сделать выборку из бд с использованием отношений laravel
Я составил такой запрос в БД.
<?php
namespace App\Http\Controllers;
use App\Models\Person;
use Illuminate\Http\Request;
class NotebookController extends Controller
{
public function index(){
\DB::connection()->enableQueryLog();
$data = Person::query()
->select(['name', 'surname'])
->with('phone:number')
->get();
dd(\DB::getQueryLog(), $data);
return view('notebook.index');
}
}
Отношения моделей Person<-Phone
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Person extends Model
{
use HasFactory;
public function phone(){
return $this->hasOne(Phone::class);
}
}
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Phone extends Model
{
use HasFactory;
public function user(){
return $this->belongsTo(Person::class);
}
}
Сформированый запрос выглядит так:
Подскажите пожалуйста, могу ли я ввести ограничения на выборку данных для таблицы people и получить данные о phone.number
Источник: Stack Overflow на русском