Laravel에서 모호한 열 Eloquent 쿼리 예외 방지
3730 단어 eloquentlaravelrelationships
모델:
사용자:
public function teams()
{
return $this->belongsToMany(Team::class);
}
팀
public function users()
{
return $this->belongsToMany(User::class);
}
그런 다음 다음과 같이 사용자를 팀에 연결할 수 있습니다.
Team::users()->attach(auth()->user());
이제 다음과 같은 팀별로 사용자 컬렉션을 얻을 수 있습니다.
$users = Team::users;
좋습니다. 데이터를 API나 보기에만 전달해야 할 수도 있지만 사용자 모델에 민감한 데이터가 있거나 사용자 모델이 거대하고 필요한 데이터만 가져오는 더 나은 접근 방식일 수 있습니다. 이름과 이메일만 있으면 아마도 다음과 같이 하고 있을 것입니다.
$team = Team::first();
$team->users()->select(['name', 'email'])->get();
사용자 모델에는 열 이름이 있고 팀 모델에도 열 이름이 있을 수 있기 때문입니다. 그러나 Laravel의 모든 것이 정말 쉽기 때문에 걱정하지 마십시오. 필요:
Team::users()->select(['users.name', 'users.email'])->get();
"where"메서드를 추가해야 하는 경우에도 동일한 아이디어가 적용됩니다.
Team::users()->where('users.email', $request->get('email'))->get();
Reference
이 문제에 관하여(Laravel에서 모호한 열 Eloquent 쿼리 예외 방지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/arielmejiadev/avoid-ambiguous-column-eloquent-query-exception-in-laravel-dpd
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
public function teams()
{
return $this->belongsToMany(Team::class);
}
public function users()
{
return $this->belongsToMany(User::class);
}
Team::users()->attach(auth()->user());
$users = Team::users;
$team = Team::first();
$team->users()->select(['name', 'email'])->get();
Team::users()->select(['users.name', 'users.email'])->get();
Team::users()->where('users.email', $request->get('email'))->get();
Reference
이 문제에 관하여(Laravel에서 모호한 열 Eloquent 쿼리 예외 방지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/arielmejiadev/avoid-ambiguous-column-eloquent-query-exception-in-laravel-dpd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)