Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Re: Laravel 5.x » Проблема с составлением запроса к бд » 04.06.2015 13:04:54

hzone пишет:

через ORM бы проблем не имел )))

Не понял

hzone пишет:

установи EMS SQL Manager (для твоей БД My/Pg/Ora/MS)
ТАМ отладь свой запрос, и уже на основе него-родного пиши в ларе.
(все) будьте разумнее!

Спасибо, попробую. Никогда раньше не использовал.

#2 Laravel 5.x » Проблема с составлением запроса к бд » 03.06.2015 22:32:48

evgeniy2194
Ответов: 4

Доброго времени суток.

$posts = self::selectRaw('users.login, posts.*, comments.id, COUNT(comments.id) as сomments_count,GROUP_CONCAT(DISTINCT(categories.name)) as cat_name')
                     ->Join('users','users.id', '=', 'posts.author')
                     ->Join('post_cat','post_cat.post_id', '=', 'posts.id')
                     ->Join('categories','categories.id', '=', 'post_cat.cat_id')
                     ->leftJoin('comments','comments.post_id','=','posts.id')
                     ->orderBy('posts.created_at', 'DESC')
                     ->groupBy('posts.id')
                     ->paginate(10);

COUNT(comments.id) возвращает результат вдвойне. Если к посту есть 10 комментариев то результат вернет 20. Где косяк?

#3 Re: Laravel 5.x » Изменение данных пользователя » 30.03.2015 19:14:43

Johnson пишет:

Здесь $id получает id пользователя из маршурта users/{users}, где {users} - наш id
далее для уникальных полей можно проигнорировать поле с конкретным id, в нашем случае все так и происходит.

спасибо, очень помогло. Тоже столкнулся с такой проблемой)

#4 Re: Laravel 5.x » не выводит постраничную навигацию » 23.03.2015 21:41:40

Так же не выводило изображения на странице.

Проблема была в шаблонизаторе. Нужно было место

{{  $posts->render() }} 

написать 

{!!  $posts->render() !!}

#5 Laravel 5.x » не выводит постраничную навигацию » 23.03.2015 19:12:59

evgeniy2194
Ответов: 1

Добрый день.

 $posts->render() 

Место ссылок на экран выводит простой текст:

<ul class="pagination"><li class="disabled"><span>«</span></li> <li class="active"><span>1</span></li><li><a href="x?page=2">2</a></li> <li><a href="x?page=2" rel="next">»</a></li></ul>

#6 Re: Laravel 4 » Комментарии к статье. » 20.03.2015 23:31:57

Proger_XP пишет:

}%Со счётчиком есть проблема в том, что теряется целостность и получается дублирование данных. Его сложнее поддерживать (например, больше недостаточно сделать DELETE на комментарии, нужно также изменить счётчик). Насколько это проблемно - зависит от разных факторов (нагруженность, сложность архитектуры и пр.).

> нужно 20 раз считать комментарии для этой статьи.
Не обязательно.
%%(sql)
SELECT articles.*, COUNT(1) AS comment_count FROM articles
JOIN comments ON comments.article_id = articles.id
WHERE articles.foo = 'bar' AND ...
%%

Скорость такой операции будет вполне хорошей, так как БД свяжет обе таблицы по индексам. Зато вы избавляетесь от лишнего счётчика.

   

$posts = Post::orderBy('created_at', 'DESC')
                ->select('posts.*', DB::raw('count(*) as comment_count'))
                ->join('comments', function($join){
                    $join->on('comments.post_id', '=', 'posts.id');
                })
                ->paginate(3);

Помогите пожалуйста написать, а то всю голову сломал и не в какую(

в таблице posts записи, в таблице comments - комментарии. Нужно посчитать комментарии где сomments.post_id  = posts.id. Как реализoвать в laravel.

Заранее спасибо.

#7 Re: Laravel 4 » Каптча laravel » 15.03.2015 22:44:54

Прошу прощения, все нормально работает. Просто я слепой)

#8 Laravel 4 » Каптча laravel » 15.03.2015 22:41:29

evgeniy2194
Ответов: 2

Добрый день.

Создал свой свою каптчу(captcha.php), закинул ее в директорию public, но при выводе рисунок не выводит. Игрался с путями, ничего не помогло.     

<img src="captcha.php"/> 

Как указать путь к файлу?

#9 Laravel 4 » Комментарии к статье. » 15.03.2015 22:31:07

evgeniy2194
Ответов: 3

Добрый день.

Как лучше сделать подсчет комментариев к статье.

1. Создать поле comments в таблице с статьями куда записывать +1 при добавлении нового материала и отнимать 1 при удалении.
2. Подсчитывать нужные комментарии в таблице комментариев, что мне кажется более глупо, при выводе 20 статей на странице, нужно 20 раз считать комментарии для этой статьи.

Первый вариант вроде лучше как по мне, но не очень удобен, как по мне.

Что посоветуете?

#10 Re: Laravel 5.x » Ошибка при установке » 05.03.2015 21:08:34

Goshik пишет:

Тоже OpenServer. Только-что поставил 5 версию через компосер, все о.к.
Когда ставлю <php5.4 появляется выше приведенная ошибка.
Смотрите версию php, возможно конфигурация OpenServer не правильная

Спасибо за помощь. Действительно в настройка OpenServer стоял php 5.3, хотя я в настройках апача прописал путь к 5.5.

#11 Re: Laravel 5.x » Ошибка при установке » 04.03.2015 23:00:28

Goshik пишет:

php 5.4+

Стоит OpenServer, php 5.5
Если ниже 5.4 то установщик ругается

#12 Re: Прочее » Форум обновлён до FluxBB 1.5.8 » 04.03.2015 22:15:59

Добрый день.

Возле имени моего пользователя(слева вверху) написано:"Последнее посещение: 01.01.1970 04:00:00"
Аккаунт только создан.

#13 Laravel 5.x » Ошибка при установке » 04.03.2015 21:58:37

evgeniy2194
Ответов: 4

Добрый день.

Установил laravel 4.2, при открытии sitename/public/ выдает ошибку:

 Parse error: syntax error, unexpected '[' in C:\OpenServer\domains\iti.local\vendor\laravel\framework\src\Illuminate\Support\helpers.php on line 426 

устанавливал по инструкции с сайта "сomposer create-project laravel/laravel {directory} --prefer-dist 4.2"
При установке версии 5 ошибка:

 C:\OpenServer\domains\iti.local\vendor\laravel\framework\src\Illuminate\Foundation\helpers.php on line 381 

(и при установке с командной строки и при загрузке с github).

Кто-то сталкивался с данной проблемой?

Подвал раздела