laravel5のeloquentで、belongsTo(親子テーブル)で同名カラムがあると、親テーブルの方が使われてた・・・。
子) users.name
親) groups.name
1 2 |
$user = User::find(1); return $user->name; // groups.nameが表示される |
解決策としては、selectで別名をつける
1 2 3 4 |
$query = user::query(); $query->select('*', 'user.name as user_name'); $user = $query->get(); return $user->user_name |
文字列なら、すぐ分かったけどね・・・。
両方に同名フラグが沢山並んでいると、気が付かない潜在バグとなっていた!
ambiguous(曖昧・まぎららしい)エラーとか出ても良い気がするけど、出ないのね~。