Laravel по-русски
Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Пошло вот таким макаром (кому интересно)
public function search() {
$data = Input::all();
$validator = Validator::make($data, Search::rules(), Search::errors());
if ($validator->fails())
{
return Redirect::back()->withErrors($validator)->withInput();
}
else
{
$q = DB::table('objects');
$q->where('active', 1);
if (!empty($data['id']))
{
$q->where('id', $data['id']);
}
else
{
$dat_exactly = ['location_id', 'case_type', 'type_id', 'currency', 'area'];
$dat_min_max = ['price', 'area', 'rooms'];
foreach ($dat_exactly as $value)
{
if (!empty($data[$value]))
{
$q->where($value, $data[$value]);
}
}
foreach ($dat_min_max as $value2)
{
if (!empty($data['min_' . $value2]))
{
$q->where($value2, '>=', $data['min_' . $value2]);
}
if (!empty($data['max_' . $value2]))
{
$q->where($value2, '<=', $data['max_' . $value2]);
}
}
}
}
$objects = $q->get();
Блин, и даже с $q->get(); не пашет ![]()
Arat пишет:Ну, во-первых, $results в конце нужно переинициировать, во-вторых, неа, не пашет
Упустил
Странно, но у меня работало и работает, для примера кусок<?php ... $orders = $q->get(); // ..........
Ну, конечно, блин! get() забыли... )))))))
а у вас не работает?
Ну, во-первых, $results в конце нужно переинициировать, во-вторых, неа, не пашет ![]()
А для чего вам DB::raw()? Какие то сложные выборки?
Как вариант попробуйте, не проверял.
метод query() в Eloquent разве есть?..
Всем снова привет! Возвращаюсь к своему вопросу.
Есть проблема с использованием DB::raw() для поиска по базе.
из формы получаю массив данных. Его валидирую и дальше отдаю на обработку:
public function search() {
$data = Input::all();
$validator = Validator::make($data, Search::rules(), Search::errors());
if ($validator->fails()) {
return Redirect::back()->withErrors($validator)->withInput();
} else {
$query = "SELECT * FROM objects WHERE 'active' = '1'";
if($data['id'] !== "" && $data['id'] !== "0") {
$query .= " AND WHERE id = '".$data['id']."'";
} else {
if ($data['location_id'] !== "" && $data['location_id'] !== "0") {
$query .= " AND WHERE location_id = '".$data['location_id']."'";
}
if ($data['case_type'] !== "" && $data['case_type'] !== "0") {
$query .= " AND WHERE case_type = '".$data['case_type']."'";
}
if ($data['type_id'] !== "" && $data['type_id'] !== "0") {
$query .= " AND WHERE type_id = '".$data['type_id']."'";
}
if ($data['min_price'] !== "" && $data['min_price'] !== "0") {
$query .= " AND WHERE price >= '".$data['min_price']."'";
}
if ($data['max_price'] !== "" && $data['max_price'] !== "0") {
$query .= " AND WHERE price <= '".$data['max_price']."'";
}
if ($data['currency'] !== "" && $data['currency'] !== "0") {
$query .= " AND WHERE currency = '".$data['currency']."'";
}
if ($data['min_area'] !== "" && $data['min_area'] !== "0") {
$query .= " AND WHERE area >= '".$data['min_area']."'";
}
if ($data['max_area'] !== "" && $data['max_area'] !== "0") {
$query .= " AND WHERE area <= '".$data['max_area']."'";
}
if ($data['area'] !== "" && $data['area'] !== "0") {
$query .= " AND WHERE area_type = '".$data['area']."'";
}
if ($data['min_rooms'] !== "" && $data['min_rooms'] !== "0") {
$query .= " AND WHERE rooms >= '".$data['min_rooms']."'";
}
if ($data['max_rooms'] !== "" && $data['max_rooms'] !== "0") {
$query .= " AND WHERE rooms <= '".$data['max_rooms']."'";
}
}
$results = DB::raw($query)->get();
}
return View::make('pages.search', ['results' => $results]);
}
В итоге ничерта не пашет и дает ошибку SQLSTATE[42000]: Syntax error or access violation
Как правильно из базы по такому запросу вытащить данные? Спасибо!
я также как и на локалке размещаю, правда использую VDS хостинг, проблем нет никаких.
у тебя SSH доступ есть?
Та если бы. Ничерта этого нет. С хостером поломал стопицот копьев, но в итоге нормально работать оно не стало. В топку хостера.
Апдейт. Суупорт хостера говорит, что рут вот тут /domains
Теперь ваще в ступоре
Ребята, всем привет!
Нужно перенести проект на хостинг, но не пашет ничерта.
Есть хостинг тут besthosting.ua, доступ к каталогам такой /domains/{my_domain}/public_html. Т.е. DocumentRoot.
Закинул весь проект туда. В корень приложения кинул .htaccess:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
Перенаправляю, получается, все в public. Не пашет… Поддержка не шарит ничерта (
Как перенести? Помогите опытом! Спасибо!
стойте а как быть если нужно проверить сразу в двух пивотных таблицах на наличие объектов с заданным id ?
Уточните вопрос.
Как вариант еще оно отношение запилить и пользовать.
Спрошу тогда тоже тут.
Только начинаю пятую версию осваивать.
Брал модель типа $var = Model::all();
Потом там же, в контроллере, передаю коллекцию в шаблон return view(’pages.page’, $var);
В результате у меня белая пустая страница без ничего.
Как правильно передавать и потом использовать данные в шаблонах?
Возникла проблема при переносе проектов с макбука на ком с Linux Mint.
В качестве пространства для проектов установил XAMPP. Прописал в конфигах алиасы для локальных адресов, в конфигах проекта Laravel эти же адреса и прописаны.
В итоге получаю ошибку доступа.
Access forbidden!
You don't have permission to access the requested directory. There is either no index document or the directory is read-protected.
If you think this is a server error, please contact the webmaster.
Error 403
lechebnitsa.loc.ua
Apache/2.4.12 (Unix) OpenSSL/1.0.1p PHP/5.6.11 mod_perl/2.0.8-dev Perl/v5.16.3
Посоветуйте, как обойти беду? 
Простите, если не в том разделе тема!
Всем привет! Поставили задачу подключить апишку Новой почты к проекту на Ларе 4.2.
Никто не встречал пакеты для работы с их апишкой?
Нашел класс вроде. Но не до конца понятно как им пользоваться у нас. Просто создать модель с этим классом и юзать? Помогите разобраться, пожалуйста! Думаю, многим будет полезно
constb пишет:Articles::where('slug', '=', $slug)->first();
так просто ?
а где это надо описывать ? в модели ? маршируте ? просто я только начал учить laravel, и еще не нашел нормальной книги или уроков
Да, так просто. А вот смотре где и что нужно. В контрллере лучше, конечно же, а потом уже делать с моделью все, что нужно: передать ее во вьюху, или дальше обрабатывать ![]()
Апдейт. Установка идет, но вот все равно ставится версия для 5-й версии Лары. Для 4.2 не идет
У кого-то есть еще варианты пакетов виджетов (составители не предлагать)? ![]()
Совсем нет идей?
для 4-й версии работает?
Есть задача вывести, условно, поплуярные товары в карусель вида:
<div class="carousel slide" id="myCarousel">
<div class="carousel-inner">
<div class="item active">
<ul class="thumbnails">
<li class="col-sm-3">
<div class="fff">
<div class="thumbnail">
<a href="#"><img src="http://placehold()it/360x240" alt=""></a>
</div>
<div class="caption">
<h4>Praesent commodo</h4>
<p>Nullam Condimentum Nibh Etiam Sem</p>
<a class="btn btn-mini" href="#">» Read More</a>
</div>
</div>
</li>
<li class="col-sm-3">
<div class="fff">
<div class="thumbnail">
<a href="#"><img src="http://placehold()it/360x240" alt=""></a>
</div>
<div class="caption">
<h4>Praesent commodo</h4>
<p>Nullam Condimentum Nibh Etiam Sem</p>
<a class="btn btn-mini" href="#">» Read More</a>
</div>
</div>
</li>
<li class="col-sm-3">
<div class="fff">
<div class="thumbnail">
<a href="#"><img src="http://placehold()it/360x240" alt=""></a>
</div>
<div class="caption">
<h4>Praesent commodo</h4>
<p>Nullam Condimentum Nibh Etiam Sem</p>
<a class="btn btn-mini" href="#">» Read More</a>
</div>
</div>
</li>
<li class="col-sm-3">
<div class="fff">
<div class="thumbnail">
<a href="#"><img src="http://placehold()it/360x240" alt=""></a>
</div>
<div class="caption">
<h4>Praesent commodo</h4>
<p>Nullam Condimentum Nibh Etiam Sem</p>
<a class="btn btn-mini" href="#">» Read More</a>
</div>
</div>
</li>
</ul>
</div><!-- /Slide1 -->
<div class="item">
<ul class="thumbnails">
<li class="col-sm-3">
<div class="fff">
<div class="thumbnail">
<a href="#"><img src="http://placehold()it/360x240" alt=""></a>
</div>
<div class="caption">
<h4>Praesent commodo</h4>
<p>Nullam Condimentum Nibh Etiam Sem</p>
<a class="btn btn-mini" href="#">» Read More</a>
</div>
</div>
</li>
<li class="col-sm-3">
<div class="fff">
<div class="thumbnail">
<a href="#"><img src="http://placehold()it/360x240" alt=""></a>
</div>
<div class="caption">
<h4>Praesent commodo</h4>
<p>Nullam Condimentum Nibh Etiam Sem</p>
<a class="btn btn-mini" href="#">» Read More</a>
</div>
</div>
</li>
<li class="col-sm-3">
<div class="fff">
<div class="thumbnail">
<a href="#"><img src="http://placehold()it/360x240" alt=""></a>
</div>
<div class="caption">
<h4>Praesent commodo</h4>
<p>Nullam Condimentum Nibh Etiam Sem</p>
<a class="btn btn-mini" href="#">» Read More</a>
</div>
</div>
</li>
<li class="col-sm-3">
<div class="fff">
<div class="thumbnail">
<a href="#"><img src="http://placehold()it/360x240" alt=""></a>
</div>
<div class="caption">
<h4>Praesent commodo</h4>
<p>Nullam Condimentum Nibh Etiam Sem</p>
<a class="btn btn-mini" href="#">» Read More</a>
</div>
</div>
</li>
</ul>
</div><!-- /Slide2 -->
<div class="item">
<ul class="thumbnails">
<li class="col-sm-3">
<div class="fff">
<div class="thumbnail">
<a href="#"><img src="http://placehold()it/360x240" alt=""></a>
</div>
<div class="caption">
<h4>Praesent commodo</h4>
<p>Nullam Condimentum Nibh Etiam Sem</p>
<a class="btn btn-mini" href="#">» Read More</a>
</div>
</div>
</li>
<li class="col-sm-3">
<div class="fff">
<div class="thumbnail">
<a href="#"><img src="http://placehold()it/360x240" alt=""></a>
</div>
<div class="caption">
<h4>Praesent commodo</h4>
<p>Nullam Condimentum Nibh Etiam Sem</p>
<a class="btn btn-mini" href="#">» Read More</a>
</div>
</div>
</li>
<li class="col-sm-3">
<div class="fff">
<div class="thumbnail">
<a href="#"><img src="http://placehold()it/360x240" alt=""></a>
</div>
<div class="caption">
<h4>Praesent commodo</h4>
<p>Nullam Condimentum Nibh Etiam Sem</p>
<a class="btn btn-mini" href="#">» Read More</a>
</div>
</div>
</li>
<li class="col-sm-3">
<div class="fff">
<div class="thumbnail">
<a href="#"><img src="http://placehold()it/360x240" alt=""></a>
</div>
<div class="caption">
<h4>Praesent commodo</h4>
<p>Nullam Condimentum Nibh Etiam Sem</p>
<a class="btn btn-mini" href="#">» Read More</a>
</div>
</div>
</li>
</ul>
</div><!-- /Slide3 -->
</div>
<nav>
<ul class="control-box pager">
<li><a data-slide="prev" href="#myCarousel" class=""><i class="glyphicon glyphicon-chevron-left"></i></a></li>
<li><a data-slide="next" href="#myCarousel" class=""><i class="glyphicon glyphicon-chevron-right"></i></li>
</ul>
</nav>
<!-- /.control-box -->
</div><!-- /#myCarousel -->
Т.е. разбивка на блоки по 4 модели из коллекции, каждый из которых, при показе принимает параметр «active».
Как разбить на части всю коллекцию в таком случае?