とりあえずクエリビルダで使えるtoSql()してみるとよい。
hasOne、hasMany、belongsTo、belongsMany、hasManyThrouthなどを定義したメソッド名にtoSQLをつける。
特に外部キーカラム名の指定が複雑なhasManyThrouthは、これを見るだけでだいぶわかりやすい(個人の感想です)
php
App\User::find(1)->relayTarget()->toSql();
例えば以下のようにUserモデルのリレーション設定を確認できる。
Eloquent
class User extends Model
{
protected $table = 'users';
public $primaryKey = 'id';
/**
* リレーション
*/
public function relayTarget()
{
return $this->belongsTo(RelayTargetModel::class, 'relayTarget_id');
}
}
ターミナル
$ php artisan tinker
>>> App\User::find(1)->relayTarget()->toSql();
=> "select * from `relay_target` where `relay_target`.`relayTarget_id` = ?"