Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
А такой вариант является ли SQL injection безопасным?
$results = DB::select('select * from users where id = ?', array(1));
Если да, то не понятно для чего тогда Конструктор запросов нужен? Вижу только дополнительный,лишний синтаксис.
Спасибо за наставление). Углубился в ORM и для себя понял, что Eloquent только для простых селектов в не больших БД. Даже для данного запросика он не годен.
Собственно остановился на таком "query builder извращение" :
$answers = DB::table('answer')
->leftJoin('answer_type', 'answer.answer_type_id', '=', 'answer_type.answer_type_id')
->leftJoin('answer_image', 'answer.answer_id', '=', 'answer_image.answer_id')
->leftJoin(DB::raw ('(SELECT at.type as type_other, question_id, answer_id, value as other_value ' .
'FROM answer_other ao JOIN answer_type at ON (ao.answer_type_id = at.answer_type_id) ' .
'WHERE ao.question_id =" ' . (int)$question->question_id . '") ao1'), 'answer.answer_id', '=', 'ao1.answer_id')
->where('answer.question_id', '=', (int)$question->question_id)
Чем дальше, тем laravel нравится все меньше и меньше(((
Добрый день.
Решил не создавать новых тем. Только начал изучат Laravel и возник затык при переводе своих "старых" sql запросов в "ларавель правильные"
Вот один из
SELECT a.answer_id, at.type, a.value, ao1.type_other, ao1.other_value, ai.value as image, a.hidden, a.required
FROM answer a
LEFT JOIN answer_type at ON (a.answer_type_id = at.answer_type_id)
LEFT JOIN answer_image ai ON (a.answer_id = ai.answer_id)
LEFT JOIN ( SELECT at.type as type_other, question_id,answer_id, value as other_value
FROM answer_other ao JOIN answer_type at ON (ao.answer_type_id = at.answer_type_id)
WHERE ao.question_id = (int)$question_id
) ao1 ON (a.answer_id = ao1.answer_id)
WHERE a.question_id = (int)$question_id
ORDER BY a.sort_order
Как наиболее правильно это сделать? На ум приходит только raw.