2
只是遇到我的Join查詢中的一個錯誤。Laravel加入返回奇數值
我在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');
它工作得很好,所以我只能猜測是其打倒在加入作爲這是代碼的唯一不同部分。
我經歷了那個一秒鐘前,因爲我有同樣的想法,但似乎並沒有對它進行排序。我試圖再次縮小問題的範圍。 – Lovelock
啊我想我知道爲什麼。你的數據庫中有不同的'userid'列嗎? – lukasgeiter
有趣的想法。是的,我有。在博客表中,我也有一個用戶ID字段...商店存儲用戶ID。看起來像病不得不改變它,並嘗試:) – Lovelock