2017-09-11 11 views
0

に私はLaravelのpaginate()関数 - PDOException SQLSTATE [HY093]:Laravel

$products = new Product(); 
$products = $products->orderBy('id', 'DESC')->paginate(10); 

でデータベースからレコードを取得するためのコードの下に使用しています。しかし、それは例外に

PDOException SQLSTATE[HY093]: Invalid parameter number

を投げための無効なパラメータ番号私は解決策を見つけることを試みた

Illuminate\Database\QueryException SQLSTATE[HY093]: Invalid parameter number (SQL: select count(*) as aggregate from 'tbl_products' where 'tbl_products'.'deleted_at' is null and 'category_id' = 10 and created_at between and ?)

はまた、エラーの下に示していますすでにhereと掲載されていましたが、私のためには機能しませんでした。

上記のコードを実行する前に、関数内にコードを記述しましたが、コードが影響していると思います。

$timeframe = Input::get('daterange'); 
$products = $products->whereBetween('created_at', $timeframe); 
+0

まず 'DD($製品)を参照してください;'それはあなたの結果が得られますか?また、 '$ products = new Product();の後に変数名を変更しようとしました。 –

+0

次の文ではエラーは表示されません。他のラインがこのエラーを投げているかもしれないかどうかチェックしましたか? –

+0

'created_at between'(' whereBetween')を生成するコードはどこですか? –

答えて

2
$products = new Product(); 
$products = $products->orderBy('id', 'DESC')->paginate(10); 

これは、レコードを取得していません - あなたは、新しい空の製品のオブジェクトを作成し、それを照会しようとしています。すべての製品と注文を取得し、それらをページ付け、これを試してみ

$products = Product::orderBy('id', 'DESC')->paginate(10); 
関連する問題