2017-10-16 74 views
0

在這種情況下,如果我更改exp_at,比id_card將來自一個字段, 和另一個exp_at .. 而且如果我使用哪裏聲明卡,比用戶記錄更便宜。 如何解決???如何通過兩個或更多參數選擇最後一個記錄?

->leftJoin('bon_card', 'bon_card.id_user', '=', 'users.id_user') 

->select(DB::raw('max(bon_card.id_card) as id_card, max(bon_card.exp_at) as bon_exp_date, users.*')) 

->where([['vards','LIKE',"%{$vards}%"], ['uzvards','LIKE',"%{$uzvards}%"], ['pers_kods','LIKE',"%{$pers_kods}%"], ['tel','LIKE',"%{$tel}%"], ['email','LIKE',"%{$email}%"]]) 
+4

[小博](http://bobby-tables.com/)說** [你可能會在對SQL注入攻擊的風險(https://stackoverflow.com/q/ 60174 /)**。通過[參數化查詢](https://stackoverflow.com/a/4712113/5827005)瞭解[準備好的陳述](https://en.wikipedia.org/wiki/Prepared_statement)。我推薦'PDO',我[寫了一個類的](https://github.com/GrumpyCrouton/GrumpyPDO),使它非常容易,乾淨,並且比使用非參數化查詢更安全。此外,[本文](http://php.net/manual/en/mysqlinfo.api.choosing.php)可能會幫助您在'MySQLi'和'PDO' – GrumpyCrouton

回答

0
->leftJoin('bon_card', 'bon_card.id_user', '=', 'users.id_user') 

->select(DB::raw('max(bon_card.id_card) as id_card, max(bon_card.exp_at) as bon_exp_date, users.*')) 

->where([['vards','LIKE',"%{$vards}%"])->orWhere(['uzvards','LIKE',"%{$uzvards}%"]) 
+0

mhm之間進行選擇,這不是我所期望的。實際上,我想選擇兩個連接的字段作爲最後一行,而不是兩個不同的行... – ivo

+0

你試試哪裏() - > get()? –

+0

是............. – ivo

相關問題