我初學Laravel.I可以寫在原PHP.Now查詢我想將它寫在Laravel framework.I已經閱讀文檔和到目前爲止已經試過:如何在Laravel 5.1中編寫原始查詢?
原PHP:
SELECT count(*)/(TIMESTAMPDIFF(YEAR,'2016-01-01 00:00:00',now())+1) as avg from buyer where created_at >= '2016-01-01 00:00:00';
試圖與Laravel:
public function index(){
//
$yrUserReg = DB::table('buyer')
-> SELECT (DB::raw (count('*')/("TIMESTAMPDIFF(YEAR,'2016-01-01 00:00:00',now())+1")))
-> AS ('avg')
-> WHERE ("created_at >= '2016-01-01 00:00:00'");
return view('userflow',compact($yrUserReg));
}
但它引發我一個錯誤:Division by Zero
。我無法找到任何解決方案。 在此先感謝。任何幫助將不勝感激!!
你忘了包裹表達你傳遞給DB ::生在引號。這是執行爲PHP。並且你已經在SQL計數內部引用了引號 – Clive
使用'$ result = DB :: select(「」);'在select();'內寫入你的原始代碼'' – AHJeebon
也要注意那些方法('select )','as()'和'where()')與這些空格和這樣的大寫字母永遠不會工作。 – phaberest