Laravel по-русски

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

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

#1 Вакансии » Разработчики laravel в офис. Москва. » 08.05.2015 16:40:42

SMGladkovskiy
Ответов: 0

Приветствую уважаемое сообщество!

В компанию на full time ищутся разработчики, работающие с laravel!
Все подробности можно узнать в вакансии на hh: http://hh.ru/vacancy/13413895. Туда же прошу слать отклики. В сопроводительном письме прошу указать, что с сайта laravel.ru.

Всем большое спасибо и успехов в делах!

#2 Вакансии » Разработчик на Laravel на проектную работу » 19.02.2015 08:53:07

SMGladkovskiy
Ответов: 0

Ищу разработчика, имеющего знания и навыки работы с Laravel 4/5, знающего что такое миграции, очереди, less, gulp, bower, npm, composer, git и активно использующий все эти базовые знания на практике. Приветствуется хорошее знание SQL, навыки разработки архитектуры баз данных, мышление ORM сущностями (объекты, их свойства и правильные связи между объектами), мастерское владение Eloquent. Задачи по вёрстке сводятся к грамотному использованию twtr bootstrap (в основном проекты по написанию различного рода информационных систем, где нет дизайнерских изысков - строгие и лаконичные интерфейсы). Плюсом будут уверенные звания JavaScript (базис - знание jQuery и навыки использования распространённых библиотек).

Необходимо наличие 4-6 часов в день, доступность по skype в рабочее время по Москве, ответственность, умение правильно оценивать свои силы для решения предлагаемых задач.

Взаимодействие по Time & Material. Имеется постоянный поток новых проектов и поддержка уже сделанных. Вся работа ведётся в трекере (Jira), где ставятся задачи, оцениваются и отмечается их выполнение. Там же можно вести учёт затраченного времени.

Для более продуктивного общения - прошу подготовить для обзора примеры собственного кода с описанием интересных для Вас моментов.
Пишите на email smgladkovskiy at gmail.com или в чате (ник тот же).

#3 Re: Laravel 4 » Как вывести в запросе определенные столбцы? » 30.12.2014 17:40:43

Armix2000 пишет:

Это понятно, можно и чистый PHP код в SQL запросом вставить! Но вопрос все же про Eloquent !!!

Eloquent в построениях  запросов наследуют query builder, а следовательно, (почти) всё, что может QB может и Eloquent. Это упрощает использование, так как по сути, Eloquent, будучи ORM движком, решает вопрос использования записей таблиц как объектов, а колонок таблиц - как свойств этих объектов, а так же вопрос отношений между объектами. В остальном (в особенности, при построении запросов) - это тот же QB, только взгляд со стороны.

Вот Вам выдержка из мануала:

Note: All methods available on the query builder are also available when querying Eloquent models.

Не думайте, что Eloquent - это серебрянная пуля. Это просто дополнительный слой абстракции, помогающий Вам быстрее писать код. Когда Вы столкнётесь с построением крупного высоконагруженного решения, вероятнее всго (при должной архитектуре), Вы будете уходить от ORM...

#4 Re: Laravel 4 » Как получить все блоги по тегу? » 30.12.2014 17:32:38

$tag = Tag::where('name', '=', 'sometag')->firstOrFail(); // получаем запись тега
$posts = $tag->posts; // посты
$videos = $tag->videos; // видео

#5 Re: Laravel 4 » Как вывести в запросе определенные столбцы? » 29.12.2014 19:15:43

Использование Eloquent не накладывает на Вас ограничений в использовании Query Builder'а.

#7 Re: Laravel 4 » Как вывести в запросе определенные столбцы? » 29.12.2014 15:09:14

$object->related()->select('related.column_one', 'related.column_two')->get()

Как-то так, если память не изменяет...

#8 Re: Laravel 4 » Связи » 12.12.2014 12:58:26

Вы по-английски читать умеете?
Задача принадлежит контакту: Task belongs to Contact
Задача принадлежит компании: Task belongs to Company

Где Вы в этих предложениях увидели множественное число? Одна задача принадлежит одному контакту и компании. Соответственно, когда хотите получить эти данные, то и обращайтесь к соответствующим свойствам с учётом множественности числа:

$task->company;

Что ж Вы бездумно копируете то, что Вам предлагают сделать, не задумываясь о том, что это вообще такое? Что же за отношение к другим? Вы хотя бы себя уважайте (раз плюёте на других) и не задавайте одних и тех же вопросов, ответы на которые заложены в основах той тематики о которой спрашиваете, а вам посоветовали их (эти основы) почитать/изучить! Прилагайте усилия сами, уважайте чужое время!

#9 Re: Laravel 4 » Связи » 12.12.2014 10:41:06

У Вас контакт и компания - это свойство задачи, судя по структуре БД. Соответственное, перепешите связи в модели задачи:

    public function contact()
    {
        return $this->belongsTo('Contact', 'id_cont');
    }


    public function company()
    {

        return $this->belongsTo('Company', 'id_com');
    }

Почитайте тщательно про логику ОРМ, её семантику, смысл, лексику - будет проще работать с Eloquent

#10 Re: Laravel 4 » Пагинатор » 06.12.2014 13:24:44

Сделайте Post::paginate(10);. Метод all() возвращает результат запроса. Метод paginate(10) — тоже работает с запросом. Поэтому комбинация методов не сработает.

#11 Re: Laravel 4 » Не работают некоторые модели с контроллера » 04.12.2014 22:29:45

Назовите модель как-нибудь более семантично и понято — зачем привязываться к плохому именованию таблиц при именовании объектов. Скажем, Position. И повторите эксперимент.

#12 Re: Laravel 4 » Геолокация и Laravel » 04.12.2014 16:19:21

На большом количестве данных могут быть тормоза при пользовании вышеописанного метода. Вот Вам статейка для затравки: https://www.scribd.com/doc/2569355/Geo- … with-MySQL

#13 Re: Laravel 4 » Ошибка при создании миграции » 04.12.2014 08:54:57

Капитан очевидность как бы намекает в error message, что показывает Exception, что таблица в БД существует и создать ещё раз её не получается…

#14 Re: Laravel 4 » Проектирование базы данных, отношения многие к многим » 29.11.2014 09:28:02

Смотрите мануал. Там есть информация о том, как управлять зависимостями. Вам нужен sync(). Можно обойтись без цикла, одним запросом.

#16 Re: Laravel 4 » Проектирование базы данных, отношения многие к многим » 28.11.2014 10:32:46

У Вас структура БД неправильная. Для связей многие-ко-многим (книги-авторы, книги-рубрики) нужны pivot таблицы. Поправьте миграции. Должно быть что-то в этом роде:

книги
	название
	фото
	
книги-авторы
	книга_id
	автора_id
	

авторы
	имя
	фамилия

книги-рубрики
	книга_id
	рубрика_id

рубрики
	название

Тогда складирование данных не будет смущать ни Вас, ни Eloquent (вопросы 1.*).

Зависимости вытягивайте при запросе с помощью with('authors', 'categories') (вопрос 2).

Читайте мануал (вопрос 3).

И в самом конце Вы вышли-таки на принципы построения архитектуры БД. Почитайте лучше что-нибудь касательно реляционных БД и работы с ними. Рекомендую Мартина Грабера SQL.

#17 Re: Laravel 4 » URL на https » 26.11.2014 13:24:11

Ну, раз хотите подробностей, то потрудитесь чуток и сами распишите побольше подробностей. В каких обстоятельствах заметили ошибку, где она происходит (продакшен/девелопмент окружение), какие настройки делали для перехода на ssl, какой веб сервер обслуживает запросы, как настроен, как сами ссылки формируете, которые работают не так? И ещё будет масса вопросов. Если Вы распишите всё подробно, то уже в вашем вопросе будет 80% ответа. Если сами не найдёте, то Вам помогут…

#18 Re: Laravel 4 » URL на https » 26.11.2014 12:55:02

Настройте веб сервер для работы с ssl.

#19 Re: Laravel 4 » Запрос к БД или DB::raw » 19.11.2014 18:51:17

Если Вам не известен SQL, то почему бы не воспользоваться Eloquent или, на худой конец, query builder'ом?

#20 Re: Laravel 4 » Верхний регистр системных полей(remember_token) в моделях orm laravel » 16.11.2014 14:01:27

Переопределите соответствующие константы в модели:

<?php

class YourModel extends Eloquent {

    /**
     * The name of the "created at" column.
     *
     * @var string
     */
    const CREATED_AT = 'post_date';

    /**
     * The name of the "updated at" column.
     *
     * @var string
     */
    const UPDATED_AT = 'post_modified';

}

#21 Re: Laravel 4 » Связи » 13.11.2014 16:21:08

Nelzz пишет:

Что я хочу сделать сказал же "Через пост вытащит данные комента" Задача моя точно такая же,но в другом виде. Я специально cделал пример с постом и коментом,так будет легче понятно и вам и мне.  Мы на правильном пути smile

Вы хотите вытащить данные коммента из коллекции постов? Какого именно коммента? какого именно поста? Какие граничные условия? Для чего именно это делается? Конкретно и предметно давайте, а то у Вас сферический конь в вакууме и Вы задаётесь вопросом, как далеко он улетит, если он наестся десятью кило гороха и пропердится...

Если задлача так и стоит - вывести все посты и все комменты к ним на одной странице, то именно перечислениями коллекций и отображением данных (через вьюшки), Вы данную задачу и решите.
Что именно у Вас не получается и какая именно задача перед Вам стоит? Я не спрашиваю, как Вы решили эту задачу решить, а именно первоначальные, так сказать, бизнес-требования. Например, "отобразить все комментарии к посту в списке с отображением даты, автора и содержания" - вот так.

#22 Re: Laravel 4 » Связи » 13.11.2014 14:23:41

Распишите нормально отношения:

Class Post extends Eloquent {

     public function comments()
     {
          
         return $this->hasMany('Comment','posts_id');    
     }

В коде при выгрузке постов (выгружаете коллекцию), у Вас будут в каждой модели в этой коллекции ещё комменты (коллекции).

$posts = Post::with('comments')->get();

foreach($posts as $post)
{
    $comments_of_posts[$post->id] = $post->comments->toArray();
}

И вот $comments_of_posts содержит массив с комментами для постов.

Если Что-то в данной конструкции Вам не нравится - тогда озвучивайте задачу. Что Вы хотите сделать? И почему именно так это намереваетесь реализовать?

#23 Re: Laravel 4 » Связи » 13.11.2014 13:15:11

Тогда проверяйте, как у Вас всё прописано в модели. Ну и ошибки покажите. А то никак не удаётся отрастить телепатические интерфейсы...

#24 Re: Laravel 4 » Где держать бизнес-логику? » 13.11.2014 12:55:28

Почитайте про Domain Driven Design и как вариант имплементации этого подхода - использование Command Bus.
Всё можно найти на laracasts.

Ну и заходите в чатик, пообщаемся про это..:)

#25 Re: Laravel 4 » Связи » 13.11.2014 12:52:06

Блин, так вопрос был - показать только данные коммента? Так в третьем сообщении у Вас и выводятся данные коммента. То,  что они в json форматируются, так это от того, что коллекцию к строке приводите. Выведите нормально:

echo $post->comment->id;
echo $post->comment->comment;
echo $post->comment->post_id;

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