2017-10-16 3 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)로 [Prepared Statements] (https://en.wikipedia.org/wiki/Prepared_statement)에 대해 알아보십시오. 매개 변수화되지 않은 쿼리를 사용하는 것보다 쉽고 깨끗하며 안전성을 높이기 위해 [클래스를 작성했습니다] (https://github.com/GrumpyCrouton/GrumpyPDO)라는 'PDO'를 권장합니다. 또한, [이 기사] (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

관련 문제