0
我的DB是:Laravel DB查詢提供了一組直接MySQL查詢不同的結果的
|category_id|category_slug |category_name |parent_category_id|
|1 |Main Category1|Main Category1|0 |
|2 |Main Category2|Main Category2|0 |
|3 |Sub Category1 |Sub Category1 |1 |
|4 |Sub Category2 |Sub Category2 |1 |
|5 |Sub Category3 |Sub Category3 |2 |
我想在MySQL
執行以下查詢SELECT *
FROM categories AS subcategory
JOIN categories AS parent ON parent.category_id = subcategory.parent_category_id
WHERE subcategory.category_display_type = 'sidebar'
AND subcategory.category_visibility = 1
像這樣:
class SidebarnavComposer
{
public function compose(View $view)
{
$params = DB::table('categories as subs')->join('categories as cats', function($join){
$join->on('subs.parent_category_id', '=', 'cats.category_id')
->where('subs.category_display_type', '=', 'sidebar')
->where('subs.category_visibility', '=', 1);
})->get();
$view->with('subcategories', $params);
}
問題是我得到了不同的結果集。
當我在MySQL直接使用第一查詢我得到如下:
category_id
category_id1
category_title
category_title1
category_slug
category_slug1
.......
當我在laravel申請執行第二查詢,我得到以下的結果集:
category_id
category_title
category_slug
.......
這基本上意味着我無法訪問所有必要的列。
所以我需要能夠做的是在下面的方法來構建URI爲我的子類別:
category_slug1/category_slug
其中category_slug1
是主要類別蛞蝓和category_slug
是子目錄蛞蝓。問題是我只能得到主要的類別slug,並且不能在我的子類別中使用slug。
我不知道我在做什麼錯了,因爲我是新來laravel和此刻真的不知道多少,所以請幫助我,如果你能
喜Naincy,我得到以下錯誤:'code'SQLSTATE [42S22]:未找到列:1054未知列'on子句'中的子列'subcategory.parent_category_id'(SQL:選擇子類別。*,類別''作爲'子類別'內部連接'類別'作爲父類別''父類別'.'category_id' ='子類別'.'parent_category_id'其中'子類別'.'category_display_type' =側邊欄和'子類別'.'category_visibility' = 1) – AlexB
@AlexB您可以根據您的數據庫更改它......這是我僅從您的問題中提取的內容...請從您的數據庫中查看確切的字段名稱 – Naincy
我修正了錯字,但是我得到的結果是相同,所以我只得到主要類別的結果,我實際需要的是有權訪問這兩個類別和子類別,以便能夠構建包含category_slug/subcategory_slug的URI。只是爲了澄清category_slug和subcategory_slug是同一列'category_slug',但依賴應該踢入並分離結果。 – AlexB