iT邦幫忙

0

laravel新增成功後沒有出現在顯示列表

資料新增成功也確定資料庫有新增的資料但顯示列表沒有顯示新增的那筆資料,請問程式碼哪裡寫錯了呢?

public function index()
    {
        $packages = ad_package::orderBy('pk_begin_date', 'desc')
                              ->join('ad_package_item', 'ad_package.idad_package', '=', 'ad_package_item.idad_package')
                              ->select('ad_package.idad_package', 'ad_package.create_time', 'pk_name', ad_package::raw("count(ad_package_item.idad_package) as count"), 'pk_price', 'pk_begin_date', 'pk_end_date', 'status')
                              ->groupBy('ad_package_item.idad_package')
                              ->paginate(10);
        $data = [
            'packages' => $packages,
        ];
        return view('packages.index', $data);
    }
先看看你 join、group by 了什麼條件
debug 看一下 $packages 有沒有資料
我只能說,又一個將orm當db操作的人出現了。

2 個回答

0
海綿寶寶
iT邦大神 1 級 ‧ 2021-02-18 12:16:01

資料庫有新增的資料

確認一下你新增的資料是「兩個 table 各一筆」
(ad_package 一筆、ad_package_item 一筆)
並且這兩筆的 idad_package 值相同

0

我只能說,又一個將orm當db操作的人出現了。

把 paginate 先暫時改成dd。先看組合出來的sql碼是不是你要的。
將其sql放進去phpmyadmin內試試能否拉的到資料。

先查sql來源跟資料來源是否是正確的。

另外,orm不是給你這樣用的。它會哭的。
多學一下關聯特性。能少用join就不要用。

我要發表回答

立即登入回答