有MySQL視圖'histstat'。
在MySQL中select * from histstat作業正常。
Laravel模型非常簡單:
class HistStat extends Model
{
使用HasFactory。
protected $table = 'histstat';
protected $fillable = ['day', 'total', 'paid'];
}
然后我想得到hisstat的前14條記錄:
$dynamic = HistStat::all()-> slice(14)。
......執行結束時出現錯誤SQLSTATE[42000]。語法錯誤或訪問違規。1055 (SQL: select * from 'histstat')/code>
當我嘗試使用基于表的模型($dynamic = History::all()->slice(14);)時--一切正常。
所以, 問題出在MySQL視圖 Laravel.
如何在Laravel中使用基于視圖的模型?
uj5u.com熱心網友回復:
對于SQL錯誤,
在configdatabase.php中"mysql"陣列
設定'strict' => false
我想這個可以幫助Laravel。語法錯誤或訪問違規。1055錯誤。
對于前14條記錄,你可以這樣做
HistStat:: oldest()->take(14)->get()。
比all()更好,因為如果你有一個巨大的表,將在服務器上加載,我不建議使用它,因為all()獲得所有記錄select * from "users"
uj5u.com熱心網友回復:
在config/datable.php(mysql部分):
- 將
strict改為false。
- 在
options中添加/更改 -PDO::ATTR_EMULATE_PREPARES => true
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/321949.html
標籤:
上一篇:分頁查詢的成本很高
