Join 쿼리에서 버그를 발견했습니다.Laravel Join 홀수 값 반환
나는 foreach에서 데이터를 반향 출력하고 사용자 이름을 표시합니다. 다른 페이지에서는 잘 작동하며 각 사용자 이름은 행의 ID에있는 사용자 이름과 일치합니다. 그러나 아래 예제에서 사용자 이름은 항상 로그인 한 사용자의 이름입니다.
희망 사항은 다음과 같습니다. 감사.
쿼리는 다음 페이지/집에
Route::get('following', array('before' => 'auth', function()
{
$slug = Route::getCurrentRoute()->uri();
$builds = Blog::findBuilds($slug);
return View::make('pages/home', compact('builds'), array('pageTitle' => 'Builds You Are Following'));
}));
그리고 나는 그렇게 같은 데이터를 표시하고 있습니다 :
foreach ($builds as $build)
{
$usernameOfOwner = User::usernameFromID($build->userid);
}
과
$query = DB::table('blogs')
->join('followers', 'blogs.id', '=', 'followers.blogid')
->where('followers.userid', Auth::user()->id)
->where('frontpage', '1')
->latest('lastupdated');
이를 통해 호출한다 그러면 ... 사용자 이름을 ID에서 가져 오는 기능은 다음과 같습니다.
public static function usernameFromID($id) {
$user = DB::table('users')->where('id', $id)->first();
return $user->username;
}
다른 곳에서 내 웹 사이트에 내가 가입 상단 하나가 아니라에 쿼리 비슷한을 실행 그래서 예를 들면 : 그것은 작동
$query = static::where('frontpage', '1')->latest('lastupdated');
, 그래서 내 유일한 생각은 괜찮 아래로 가입 자사을 그 코드의 유일한 부분입니다.
을하려는 경우
select('blogs.*')
을 할 수 있도록도 작동하지만, 정렬 표시되지 않습니다*
: 그런데. 아프다 문제를 좀더 좁히십시오. – Lovelock
아, 내가 왜 그런지 알 것 같아. db에 다른'userid' 컬럼이 있습니까? – lukasgeiter
흥미로운 생각. 그리고 네. 블로그 테이블에는 또한 사용자 ID 필드가 있습니다. 저장소에는 사용자 ID가 저장됩니다. 아픈 것 같아 그것을 변경하고 시도해야합니다 :) – Lovelock