These are chat archives for LaravelRUS/chat

17th
Apr 2015
LaravelButler

Приветствуем Вас, @forgacst, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

Maxim
@Big-Shark
Apr 17 2015 03:43
Всем привет ктото работал с чемто типа пушера ?
LaravelButler

Приветствуем Вас, null@4502040, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

LaravelButler

Приветствуем Вас, @dnson272, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

LaravelButler

Приветствуем Вас, @hopest, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

LaravelButler

Приветствуем Вас, @sadne, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

LaravelButler

Приветствуем Вас, @CagunA, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

wiyfn
@wiyfn
Apr 17 2015 08:05

Почему не подтягивает связь. В модели Person прописано
public function department()
{
return $this->belongsTo('App\Models\Department');
}

В модели Department прописано
public function persons()
{
return $this->hasMany('App\Models\Person');
}

Вывожу Person::with('department')->paginate(20) выводяться только из таблици persons.

как вывести из таблици еще departments
Alina Soboleva
@AlinaSob
Apr 17 2015 08:15
@wiyfn а что хочешь вывести? все departments для каждой person?
wiyfn
@wiyfn
Apr 17 2015 08:16
@AlinaSob да, список person и их department.
Alina Soboleva
@AlinaSob
Apr 17 2015 08:17
во вьюхе пишешь @foreach ($person->departments as $department)
wiyfn
@wiyfn
Apr 17 2015 08:17
делал, но пусто там.
Alina Soboleva
@AlinaSob
Apr 17 2015 08:17
Ну это внутри цикла для persons
wiyfn
@wiyfn
Apr 17 2015 08:18
я до вывода смотрел var_dump
Alina Soboleva
@AlinaSob
Apr 17 2015 08:18
а поля в таблицах стандартно называются?
wiyfn
@wiyfn
Apr 17 2015 08:19
id_department но я указал в модели protected $primaryKey = 'id_department';
Alina Soboleva
@AlinaSob
Apr 17 2015 08:20
в belongsTo и hasMany тоже надо указать
и у тебя называется public function department() - а во вьюхе ты вызываешь departments?
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 08:23
@Rhincodon Я делаю выборку отелей по некоторым критериям. И уже тогда мне надо достать все теги выбранных отелей.
Ребята, кто использовал Presenter'ы?
wiyfn
@wiyfn
Apr 17 2015 08:26
@AlinaSob , да все правильно там. Сейчас еще проверю.
Alina Soboleva
@AlinaSob
Apr 17 2015 08:29
@jdiond лучше сразу вопрос задай, а не спрашивай, кто использовал ;)
wiyfn
@wiyfn
Apr 17 2015 08:33
все равно не хочет, там пишет что ["relations":protected]=>
array(1) {
["department"]=>
NULL
}
primary key изменил везде на id
Mazik90
@Mazik90
Apr 17 2015 08:34
Возможен роут такого вида?
Route::get('menu1/{id}/menu2/{id2}', 'Controller@method');
данный синтаксис не работает. я про идею говрю
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 08:38
@AlinaSob уже разобрался)
class Post {
    public function tags()
    {
        return $this->hasMany(Tag::class);
    }
}
class FilterComposer {
    public function getTags()
    {
        $posts = Post::where('something', $something)->get();
    }
}
Как достать все теги, которые есть у выбраных posts?
JhaoDa
@jhaoda
Apr 17 2015 08:43
@Mazik90 почему этот синаксис вдруг не работает?
NelinD
@NelinD
Apr 17 2015 08:44
@jhaoda сломалсо...
Alina Soboleva
@AlinaSob
Apr 17 2015 08:47
@wiyfn а в таблице person поле департамента называется department_id?
wiyfn
@wiyfn
Apr 17 2015 08:48
@AlinaSob , id_department
Alina Soboleva
@AlinaSob
Apr 17 2015 08:48
Тогда надо это в связи прописать
В доках же написано..
Mazik90
@Mazik90
Apr 17 2015 08:48
@jhaoda значит я что-то не так делаю.. но при таком синтаксесе выпадает эксепшен в классе роутов гдето на 142 строчке=)
wiyfn
@wiyfn
Apr 17 2015 08:49
@AlinaSob , да все работает спасибо, изменил в БД.
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 08:50
@wiyfn id надо ставить суффиксом, а не префиксом)
wiyfn
@wiyfn
Apr 17 2015 08:50
ок
JhaoDa
@jhaoda
Apr 17 2015 08:50
@jdiond что такое суффикс и префикс в данном случае?
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 08:51
@jhaoda я про поле в таблице
JhaoDa
@jhaoda
Apr 17 2015 08:51
@jdiond а, недоглядел
@Mazik90 у меня работает
Route::get('category/{slug}/page/{page}', 'CategoriesController@show');
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 08:55
class Post {
    public function tags()
    {
        return $this->hasMany(Tag::class);
    }
}
class FilterComposer {
    public function getTags()
    {
        $posts = Post::where('something', $something)->get();
    }
}

Как достать все теги, которые есть у выбраных posts?

Без такого не обойтись?

class FilterComposer {
    public function getTags()
    {
        $posts = Post::where('something', $something)->get();
        $tags = [];
        foreach ($posts as $post) {
            foreach ($post->tags as $tag) {
                if ( ! in_array($tag->name, $tags)) {
                    $tags[] = $tag->name;
                }
            }
        }

        return $tags;
    }
}

Или же есть более красивый способ этой реализации?

Sleeping Owl
@sleeping-owl
Apr 17 2015 10:23
@jdiond нужно с обратной стороны объявить этот relation, то есть в модели тэга добавить hasMany с постами и тогда можно будет сделать запрос на выборку тэгов у которых есть связанные посты через http://laravel.com/docs/5.0/eloquent#querying-relations
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 10:26
@sleeping-owl Я делаю выборку постов по некоторым критериям, и мне нужно достать все теги именно этих выбранных постов
Sleeping Owl
@sleeping-owl
Apr 17 2015 10:32
@jdiond можно воспользоваться методом whereHas:
Tag::whereHas('posts', function ($q)
{
    $q->whereIn('id', [])
});
тут $q будет билдером запроса к модели постов, в результате будут выбраны только те тэги, у которых есть связанные посты с подходящими условиями
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 10:36
@sleeping-owl но это надо делать в foreach постов по-любому, так как мне нужен id поста. Или я не правильно понял?
Xander
@XANDER-CAGE
Apr 17 2015 10:36
Доброго времени суток. Может-ли кто нибудь помочь? Можно пруф или объяснения, как через форму в laravel занести данные в бд?
LaravelButler

Приветствуем Вас, @XANDER-CAGE, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

Sleeping Owl
@sleeping-owl
Apr 17 2015 10:39
@jdiond можно выбрать нужные посты и их айдишники передать:
$postIds = Post::where(...)->lists('id');
$tags = Tag::whereHas('posts', function ($q) use ($postIds)
{
    $q->whereIn('id', $postIds);
});
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 10:41
@sleeping-owl тю, не доглядел метод whereIn. Вот интерестно. Что больше будет давать нагрузку, новый запрос к тегам в БД или мой старый пример через foreach
Sleeping Owl
@sleeping-owl
Apr 17 2015 10:45
запросов к бд будет явно больше, но код будет изящнее. лучше к этому добавить кэширование и тогда будет не принципиально
Mazik90
@Mazik90
Apr 17 2015 10:46
я както досихпор все запросы нативно пишу, они быстрее работают + возможностей больше=)
Kirill Nesmeyanov
@SerafimArts
Apr 17 2015 10:48
Втф, откуда опять у меня этот чат? о_0 Я же вышел
NelinD
@NelinD
Apr 17 2015 10:48
наркотики так просто не отпускают
Kirill Nesmeyanov
@SerafimArts
Apr 17 2015 10:48
ну в таком случае всем привет
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 10:55
@sleeping-owl получился один лишний запрос, но память сэкономил, спасибо!
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 11:01
@Mazik90 то есть DAO?
Mazik90
@Mazik90
Apr 17 2015 11:11
@jdiond нет, базовое использование класса DB т.е. запросы сам составляю не прогоняя их через билдер или ORM
NelinD
@NelinD
Apr 17 2015 11:13
@Mazik90 и скока съэкономил по сравнению с элоквентом
Mazik90
@Mazik90
Apr 17 2015 11:14
@NelinD ну время на запросы к бд сократились почти в 2 раза
NelinD
@NelinD
Apr 17 2015 11:15
@Mazik90 в абсолютных единицах и на каких запросах, ибо в два раза на одной записи и 2 раза на тройном join разные вещи, плюс что потом делаешь с данными
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 11:17
@Mazik90 ну это тоже как бы билдер.
Mazik90
@Mazik90
Apr 17 2015 11:18
@jdiond да но сервер не нагружаешь построением запроса.
@NelinD щас уже не вспомню
NelinD
@NelinD
Apr 17 2015 11:18
@Mazik90 ладно, каждый оптимизирует как хочет
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 11:19
@Mazik90 да это понятно. Я тоже думаю перейти на DAO. Недавно начал знакомиться с паттерном Repository и понял, что сложить вместе этот паттерн и ORM = КАТАСТРОФА!!!
DAO - понятие осталось с yii, не обращайте внимание))
Mazik90
@Mazik90
Apr 17 2015 11:22
@jdiond Я лично использую в своих приложениях в основном процедуры и пердставления
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 11:25
@Mazik90 процедуры?
Mazik90
@Mazik90
Apr 17 2015 11:28
@jdiond хранимые процедуры в MySQL. помогает пользователя отделить от таблиц вообще он вообще не может иметь к ним доступа но может иметь доступ к процедуре что хорошо для безопасности в них я ложу логику работы только с базой данных чтобы не нагружать сервер и ускорить время выполнения всего этого чуда.
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 11:29
@Mazik90 понятно
Mazik90
@Mazik90
Apr 17 2015 11:31
а что очень удобно=)
JhaoDa
@jhaoda
Apr 17 2015 11:36
@jdiond у меня сложился репозиторий и ORM
Не с полпинка, конечно, три раза переосмыслял, но вполне ничо получилось
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 11:37
@jhaoda да сложить то можна, но это не совсем тот репозиторий в идеальном понятии.
@jhaoda Можна пример увидеть?
а то я тоже ломал голову раз 10
JhaoDa
@jhaoda
Apr 17 2015 11:44
@jdiond мнэээ... ну если поймаешь меня тут на выходных, напомни, я постараюсь закинуть на gist пример
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 11:45
@jhaoda ок
lafafm
@lafafm
Apr 17 2015 12:15

Доброе время суток, ребят не подскажете библиотеку php для работы с EPP
Или возможно статьи с примерами использования?

Возможно немного оффтоп, но собираюсь использовать это все с участием Лары.. =.=

JhaoDa
@jhaoda
Apr 17 2015 12:16
что есть ЕРР?
lafafm
@lafafm
Apr 17 2015 12:17

Extensible Provisioning Protocol

Для общения с доменными регистраторами..

This message was deleted
This message was deleted
JhaoDa
@jhaoda
Apr 17 2015 12:19
@lafafm здесь можно нажать стрелку вверх и исправить сообщение
lafafm
@lafafm
Apr 17 2015 12:21
@jhaoda Спасибо..
Alexander Popov
@ruelephant
Apr 17 2015 12:53
еу еу :)
вопрос по архитектуре, есть два cервиса REST
один занимается файлохранилищем, другой управляет видео
необходимо из сервиса видео слинковать с файлохранилишем
вот думаю как
что бы гвоздями не прибивать ID одного сервиса в другой
JhaoDa
@jhaoda
Apr 17 2015 12:56
@ruelephant что значит «что бы гвоздями не прибивать ID одного сервиса в другой»?
NelinD
@NelinD
Apr 17 2015 12:56
@jhaoda модуль телепатии
Alexander Popov
@ruelephant
Apr 17 2015 12:56
ну допустим есть рест, там есть сущности 1 2 3 4
есть другой рест, надо как то ему указать что надо вот-этот файл с того реста к себе применить к видео
это получается жеская связка :)
получается один проект без другого уже жить не может, лезут друг в другу в базу
а это сложности при деплое
JhaoDa
@jhaoda
Apr 17 2015 12:58
Хм, а как иначе связать что-то?
Alexander Popov
@ruelephant
Apr 17 2015 12:58
вот я и думаю
JhaoDa
@jhaoda
Apr 17 2015 12:58
А чо думать. Никак.
Идентификатор он и в Африке идентификатор
Alexander Popov
@ruelephant
Apr 17 2015 12:59
это и напрягает
но он "чужой" для этого сервиса :)
JhaoDa
@jhaoda
Apr 17 2015 12:59
Ты опять там изобретаешь велосипед
Энтерпрайз вреден для мозга...
Я не понимаю, как данные влияют на деплой
Alexander Popov
@ruelephant
Apr 17 2015 13:00
я просто думаю, а что если завтра понадобиться файлы из другого хранилища брать
а мы уже забили все гвоздями на этот сервис
JhaoDa
@jhaoda
Apr 17 2015 13:00
Телепатический идентификатор, понятно
Ты просишь «4565», а он угадывает, что вчера поменяли Азуре на АВС и теперь это 7987841
Эх, вот жисть-то наступит...
Это очень плохо, когда в продакшене оказывается, что надо менять основное хранилище
И думать как это в перспективе вылечить — глупо
Но когда это случается, то люди просто придумывают механизм переноса данных
romach3
@romach3
Apr 17 2015 13:12
@jhaoda мысли энтерпрайзненько: можно сделать посредника между двумя сервисами, который будет следить за актуальностью идентификаторов ))
Alexander Popov
@ruelephant
Apr 17 2015 13:13
да я уже думал
romach3
@romach3
Apr 17 2015 13:13
(это была шутка)
JhaoDa
@jhaoda
Apr 17 2015 13:14
@romach3 точно. Больше абстракций для бога абстракций.
Alexander Popov
@ruelephant
Apr 17 2015 13:16
я думал на самом делать сделать линковщик
допустим в сервисе основном есть сущность условно видео
мы когда хотим к ней файл прилинковать "чужой" мы делаем
/video/1/link/{staticServerType}/{alienId}
romach3
@romach3
Apr 17 2015 13:17
@ruelephant а что значит "другое хранилище"?
Alexander Popov
@ruelephant
Apr 17 2015 13:17
@romach3 физически если файлы будут по другому лежать :)
допустим нам файлы надо будет условно с rapidshare брать O_o
romach3
@romach3
Apr 17 2015 13:18
хм, физически файлы могут лежать где угодно и как угодно - это и есть проблема хранилища, по запросу достать файл из закромов и отдать.
основной сервис не должны волновать такие детали
Alexander Popov
@ruelephant
Apr 17 2015 13:19
форматы общения с хранишищами могут быть разные
romach3
@romach3
Apr 17 2015 13:19
ну так хранилище, не важно что мы под этим понимаем, и должно решить эту проблему
дать единый интерфейс
Alexander Popov
@ruelephant
Apr 17 2015 13:19
чувак это интерпрайз же :)
мы не можем менять разработки "других чуваков"
нам надо мы и берем
romach3
@romach3
Apr 17 2015 13:20
тут недавно бога абстракций упоминали, самое время принести ему жертву
JhaoDa
@jhaoda
Apr 17 2015 13:21
Элефантус у этого бога на прямой линии :)
romach3
@romach3
Apr 17 2015 13:21
если нельзя изменить чужую сущность, напиши для неё свою обертку )
Alexander Popov
@ruelephant
Apr 17 2015 13:21
воот
что я и говорил
там выше пример есть с staticServerType
staticServerType это и есть "драйвер под чужую сущность" :)
romach3
@romach3
Apr 17 2015 13:24
@jhaoda а что плохого в абстракциях? больше времени на разработку, меньше проблем потом
LaravelButler

Приветствуем Вас, @wemersonblend, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

Alexander
@Dualse
Apr 17 2015 14:13
Сидинг данных в L5 отличается от L4?
JhaoDa
@jhaoda
Apr 17 2015 14:15
@Dualse в доки заглядывал?
Alexander
@Dualse
Apr 17 2015 14:20

```class DatabaseSeeder extends Seeder {

public function run()
{
    $this->call('UserTableSeeder');

    $this->command->info('Таблица пользователей заполнена данными!');
}

}

class UserTableSeeder extends Seeder {

public function run()
{
    DB::table('users')->delete();

    User::create(array('email' => 'foo@bar.com'));
}

}```

Должно быть в одном файле?
JhaoDa
@jhaoda
Apr 17 2015 14:25
@Dualse т.е. ты не знаешь, как должно быть даже в 4-ке, но спрашиваешь про отличия?
Нет, не должны эти классы быть в одном файле
Alexander
@Dualse
Apr 17 2015 14:27
Смотрел видео, сделал все также, но у меня не находит класс с сидингом, поэтому и решил спросить)
там на примере 4 рассказывается
Alexander Popov
@ruelephant
Apr 17 2015 14:30
посоветуйте канал по java
русский
Dmitry
@DmitryChere
Apr 17 2015 14:43

подскажите почему так работает:

$query = DB::select('SELECT * FROM '. $this->table .' GROUP BY ip_address Having count(user_id) > 1');

а так выдает ошибку Column not found: 1054 Unknown column 'COUNT(user_id)' in 'having clause' (SQL: select * fromthrottlegroup byip_addresshavingCOUNT(user_id)> 1)

$query = DB::table($this->table)
                    ->groupBy('ip_address')
                    ->having('count(user_id)', '>', 1)
                    ->paginate(10);
?
Alexander
@Dualse
Apr 17 2015 14:47
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;

class DatabaseSeeder extends Seeder {

    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        Model::unguard();

        $this->call('GoodSeeder');
    }

}
Делаю так, пишет, что класс GoodSeeder does not exist
<?php

use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;

class GoodSeeder extends Seeder {

    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        $faker = Faker\Factory::create();

                \App\Models\Good::create(
                        [
                            'name' => $faker->sentence(5),
                            'discription' => $faker->text(200),
                            'size' => $faker->randomElements($array = array ('L','S','M'), $count = 1),
                            'color' => $faker->sentence(3),
                            'price' => $faker->randomNumber(),
                            'category_id' => $faker->randomDigit,
                        ]);
    }

}
JhaoDa
@jhaoda
Apr 17 2015 14:48
@likeapimp потому что нельзя просто так вставлять SQL-конструкции, их надо заворачивать в DB::raw()
Но ты бы это, конечно же, знал, если бы не поленился прочитать доки
@Dualse немного не по теме, но все же: 'discription' ORLY?
Alexander
@Dualse
Apr 17 2015 14:52
Что такое ORLY?)
JhaoDa
@jhaoda
Apr 17 2015 14:52
@Dualse это «да ты что, блин, серьезно???»
Dmitry
@DmitryChere
Apr 17 2015 14:54
@jhaoda спасибо, уже почитал
Alexander
@Dualse
Apr 17 2015 14:54
Да. Понятие не имею что это.
Alexander Popov
@ruelephant
Apr 17 2015 14:54
@Dualse http://4.bp.blogspot.com/-9B5oDjm1wgM/T3gFww7jqlI/AAAAAAAABoY/c79rs-PrfPM/s1600/ORLY+Wallpapers.png
JhaoDa
@jhaoda
Apr 17 2015 14:54
Мне только одно интересно — почему вы не читает сразу?
LaravelButler

Приветствуем Вас, @krant, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

Alexander Popov
@ruelephant
Apr 17 2015 14:55
@jhaoda со школы привыкли
JhaoDa
@jhaoda
Apr 17 2015 14:55
Ска, перевели доки на русский, нате, читайте!
Нет, нахер...
Alexander Popov
@ruelephant
Apr 17 2015 14:55
не вини их, это система образования так построена
Dmitry
@DmitryChere
Apr 17 2015 14:56
@jhaoda я видел в документации ->having('count', '>', 100) думал для моего запроса достаточно будет
Alexander Popov
@ruelephant
Apr 17 2015 14:56
ты же помнишь что в школе инициатива наказуема? :)
Alexander
@Dualse
Apr 17 2015 14:56
@ruelephant Я думал, что это определение какое-то зашифровано)
Alexander Popov
@ruelephant
Apr 17 2015 14:56
вот они привыкли что им в рот положат
JhaoDa
@jhaoda
Apr 17 2015 14:56
@likeapimp ты еще и SQL не знаешь, понятно
Alexander Popov
@ruelephant
Apr 17 2015 14:57
@jhaoda контингент кОнала конечно epic :)
JhaoDa
@jhaoda
Apr 17 2015 14:57
@likeapimp для тебя что колонка count, что функция COUNT() — монопенисуально?
Alexander Popov
@ruelephant
Apr 17 2015 14:58
@jhaoda щаз последует вопрос, а что такое "монопенисуально" :)
Alexander
@Dualse
Apr 17 2015 14:58
Может подскажите, почему у меня не подключается класс с сидингом таблицы goods?)
Alexander Popov
@ruelephant
Apr 17 2015 14:58
это никак не относится к пенисам, сразу говорю :)
Dmitry
@DmitryChere
Apr 17 2015 14:59
@jhaoda причем тут count(), я для этого туда и вставил функцию эту
Alexander Popov
@ruelephant
Apr 17 2015 14:59
@Dualse "я собираю машину с нуля в гараже, не заводится", вот так это звучит
где сырки?
JhaoDa
@jhaoda
Apr 17 2015 14:59
@likeapimp в примере написано having('count', '>', 100), count это колонка
Почему ты решил, что функцию вставлять тоже можно?
Alexander
@Dualse
Apr 17 2015 14:59
@ruelephant Я же выше их скинул
Могу продублировать)
Dmitry
@DmitryChere
Apr 17 2015 15:02
@jhaoda я хз, по логике вещей
LaravelButler

Приветствуем Вас, @khvatov, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

Ivan
@mastanggt
Apr 17 2015 16:19
Народ, подскажите как лучше реализовать на сайте переписку как в вк? Сейчас читаю статьи, но толком не могу понять все равно :(
LaravelButler

Приветствуем Вас, @mastanggt, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

JhaoDa
@jhaoda
Apr 17 2015 16:20
@mastanggt какой именно аспект тебя интересует?
Или «дайте пакет, что сделать переписку как в вк»?
Ivan
@mastanggt
Apr 17 2015 16:22
@jhaoda нет, пакет не нужно :D Я не могу понять сам способ реализации подобной системы. В некоторый статьях пишут про веб-сокеты. В некоторых на ангуляре делают. Я сам такого никогда не делал и хотел спросить в каком направлении лучше смотреть в данном случае.
slider23
@slider23
Apr 17 2015 16:24
нужны и вебсокеты и ангуляр
это перпендикулярные вещи
JhaoDa
@jhaoda
Apr 17 2015 16:24
Или вебсокеты и не ангуляр :)
Или не вебсокеты, а лонг поллинг
Alexander Popov
@ruelephant
Apr 17 2015 16:24
я использую eventsource + get запросы для чата
JhaoDa
@jhaoda
Apr 17 2015 16:25
Здесь нет универсального решения, у всех есть минусы
Alexander Popov
@ruelephant
Apr 17 2015 16:25
проще настроить
slider23
@slider23
Apr 17 2015 16:25
Задача непростая, надо сразу сказать. Но если сесть и разобраться, то реальная.
JhaoDa
@jhaoda
Apr 17 2015 16:25
Вебсокеты — красота, но до сих пор пашут не везде
Ivan
@mastanggt
Apr 17 2015 16:25
Я просто хз вообще как такое сделать, вот и спрашиваю в каком направлении читать статьи :o:
Alexander Popov
@ruelephant
Apr 17 2015 16:26
тебе назвали целый ворох технологий :)
читай
slider23
@slider23
Apr 17 2015 16:26
ну главное тут понимать, как все в целом устроено
JhaoDa
@jhaoda
Apr 17 2015 16:26
Лонг полинг дубовый, как весло и пашет везде, за редким исключением, но требует настройки сервера
slider23
@slider23
Apr 17 2015 16:27
тебе нужно средство, чтобы сервер мог сам слать уведомления клиенту, что что-то случилось.
http-запросы, включая аякс, работают от клиента к серверу
значит надо что-то другое
Роман Сохарев
@greabock
Apr 17 2015 16:28
ну лонг поллинг это как бы прикольно. Но постоянный секс с промайсами меня лично не вставляет...
зато работает везде, да
Alexander Popov
@ruelephant
Apr 17 2015 16:29
есть модуль к nginx я юзаю
реализует eventsource технологию
работает везде :)
slider23
@slider23
Apr 17 2015 16:29
есть два подхода - лонг-поллинг, т.е. сервер типа вечно отдает некую медленную страницу
и вебсокеты - постоянное соединение с клиентом и сервером по специальному протоколу, который позволяет гонять сообщения в обоих направлениях
Роман Сохарев
@greabock
Apr 17 2015 16:29
@ruelephant можно поподробнее?
Alexander Popov
@ruelephant
Apr 17 2015 16:29
реализовано на С демон, туда гетом засылаешь, он рассылает дальше
JhaoDa
@jhaoda
Apr 17 2015 16:30
@ruelephant а получать?
Alexander Popov
@ruelephant
Apr 17 2015 16:30
@jhaoda получать просто
var es = new EventSource('/stream');
es.onmessage = function(e) { $('#chat').append(e.data + "\n") };
JhaoDa
@jhaoda
Apr 17 2015 16:31
А, это комет
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 16:31
Ребята. Какими способами можна получить данные в формате json в вьюхе в js из контроллера?
Alexander Popov
@ruelephant
Apr 17 2015 16:31
кстати у меня есть реализация EventSource для php
именно клиент
кому надо могу скинуть
у меня есть еще канал для межсерверного взаимодействия
Роман Сохарев
@greabock
Apr 17 2015 16:32
выложи на гх конфиги
Alexander Popov
@ruelephant
Apr 17 2015 16:32
а что там конфиги то?
JhaoDa
@jhaoda
Apr 17 2015 16:32
@jdiond отдать их во вьюху в json
Alexander Popov
@ruelephant
Apr 17 2015 16:32
три строчки
@greabock
Example config:
  location /pub {
        # activate publisher (admin) mode for this location
        push_stream_publisher admin;

        # query string based channel id
        set $push_stream_channel_id             $arg_id;
    }

    location ~ /sub/(.*) {
        # activate subscriber (streaming) mode for this location
        push_stream_subscriber;

        # positional channel path
        set $push_stream_channels_path              $1;
    }
Роман Сохарев
@greabock
Apr 17 2015 16:33
@ruelephant практика показывает, что даже к трем строчкам нужно прийти. Ну иклиента на гх тоже давай.
Alexander Popov
@ruelephant
Apr 17 2015 16:33
прямо с мана скопипастил :)
выложу позже клиента, надо откоментить :)
а то на гитхаб такое мясо выкладывать жОсть
но он не большой, 128 строк
@greabock можешь в "продакшене" глянуть - http://pastebin.ru/cf2HnZLh
но грязно, каюсь :)
там еще мой протокол под него сделан, есть еще и на JS обертка
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 16:37
@jhaoda а в js как принять? js скрипт находиться в вьюхе
JhaoDa
@jhaoda
Apr 17 2015 16:37
@jdiond чем js отличается от вьюхи в данном случае? Ничем. Ты же понимаешь,ч то ларавель твой js не выполняет при сборке вьюхи, поэтому говорить «а в js как принять?» — бессмысленно.
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 16:38
@jhaoda приходиться делать var data = <?php $data ?>
Без тега php не обойтись?
JhaoDa
@jhaoda
Apr 17 2015 16:38
@jdiond если ты не используешь Блэйд то не обойтись
А если используешь, то {!! $data !!}
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 16:39
@jdiond не правильно сформулировал вопрос
блейд использую
теперь понятно
Alexander
@Dualse
Apr 17 2015 16:39
Еще раз со своей проблемой. Почему у меня не видит класс для сидинга? Делаю так:
<?php

use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;

class DatabaseSeeder extends Seeder
{

    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        Model::unguard();

        $this->call('GoodSeeder');
        $this->command->info('Таблица пользователей заполнена данными!');
    }

}
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 16:39
{!! $data !!} - вот это и хотел узнать
JhaoDa
@jhaoda
Apr 17 2015 16:39
Опять простыня кода?
Alexander
@Dualse
Apr 17 2015 16:39
<?php

use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;

class GoodSeeder extends Seeder
{

    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        DB::table('goods')->delete();

        $faker = Faker\Factory::create();

        \App\Models\Good::create(
                [
                    'name' => $faker->sentence(5),
                    'discription' => $faker->text(200),
                    'size' => $faker->randomElements($array = array('L', 'S', 'M'), $count = 1),
                    'color' => $faker->sentence(3),
                    'price' => $faker->randomNumber(),
                    'category_id' => $faker->randomDigit,
        ]);
    }

}
JhaoDa
@jhaoda
Apr 17 2015 16:39
Бл......
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 16:39
)))
JhaoDa
@jhaoda
Apr 17 2015 16:39
@Dualse ты утомляешь
@jdiond документацию надо читать
Alexander
@Dualse
Apr 17 2015 16:40
@jhaoda Ну так и не ответили же
Alexander Popov
@ruelephant
Apr 17 2015 16:40
@jhaoda тебя уже все утомляют, иди в отпуск :)
JhaoDa
@jhaoda
Apr 17 2015 16:40
@Dualse и что? Ты теперь каждый час будешь писать?
Alexander
@Dualse
Apr 17 2015 16:40
@jhaoda Она у меня перед глазами открыта
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 16:40
@Dualse composer dump-autoload
JhaoDa
@jhaoda
Apr 17 2015 16:40
@Dualse кто она? Про документацию я не тебе писал
Alexander
@Dualse
Apr 17 2015 16:41
@jhaoda Документация по миграциям и сидингу
Роман Сохарев
@greabock
Apr 17 2015 16:41
ну сделай же ты дамп автозагрузки. Если и это не поможет, то возвращайся
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 16:41
@Dualse вот это сделай - composer dump-autoload
Alexander
@Dualse
Apr 17 2015 16:42
Сделал
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 16:42
@Dualse и?
Alexander
@Dualse
Apr 17 2015 16:42
blob
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 16:43
@Dualse данные не правильно забиваешь
думаю проблема здесь
'size' => $faker->randomElements($array = array('L', 'S', 'M'), $count = 1),
Alexander
@Dualse
Apr 17 2015 16:44
@jdiond Спасибо
JhaoDa
@jhaoda
Apr 17 2015 16:44
Ага, и?
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 16:45

а почему не делать

DB::table('goods')->insert([]);

вместо

\App\Models\Good::create([]);
Alexander
@Dualse
Apr 17 2015 16:46
@jdiond В доках в примере написано:
User::create(array('email' => 'foo@bar.com'));
Так и стал делать
А в чем разница?
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 16:47
@Dualse но удаление же делаешь через DB, тогда используй или то или другое
в документации разные методы описаны
это не принцыпиально, но чистота кода "прежде всего"))
JhaoDa
@jhaoda
Apr 17 2015 16:48
@Dualse разница в том, что в одном случаем используется модель, а в другом нет
Роман Сохарев
@greabock
Apr 17 2015 16:48
@jdiond это вряд ли, но может у него там система ивентов )) У меня при создании модели товара, к нему еще всякие сопутствующие данные в бд автоматом добавляются.
JhaoDa
@jhaoda
Apr 17 2015 16:48
А значит могут срабатывать события, привязанные к модели и прочие плюшки
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 16:49
@greabock ну да, более разумное пояснение)
laravel seeding json
тю, не туда
Xander
@XANDER-CAGE
Apr 17 2015 19:48
может кто нибудь помочь с удалением записи из бд через ajax?)
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 19:52
@XANDER-CAGE а по конкретнее?
Xander
@XANDER-CAGE
Apr 17 2015 19:54
@jdiond грубо говоря я нуб, но имею представление о пхп, работал с CI, с аяксом туго. Есть в БД таблица orders, в ней хранятся данные. Нужно эти данные удалять, при клике на линк. Я уже часов 5 мудохаюсь, не могу сделать, если есть возможность - можете помочь?
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 19:55
@XANDER-CAGE пишешь метод в контроллере на удаление записи, а по аджакс вызываешь этот метод и передаешь туда id записи
Xander
@XANDER-CAGE
Apr 17 2015 19:55
Laravel - ковыряю вторые сутки, по чуть-чуть разбираюсь). имеется контроллер OrderController, в нем функция destroy($id). Мне нужно в этой функции дернуть данные из бд по айди?
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 19:57
class OrderController {
    public function destroy($id)
    {
        return Order::destroy($id);    
    }
}
читайте документацию
LaravelButler

Приветствуем Вас, @whitesunset, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

Serhii
@whitesunset
Apr 17 2015 21:25
Товарищи, подскажите пожалуйста. Как вытащить модель вместе с зависимыми записями из другой таблицы по внешнему ключу? Чтобы на странице редактирования загрузить в форму данные из двух таблиц.
зависимости прописаны, вопрос только в том, какой синтаксис использовать .чтобы в контроллере передать во вью объект User вместе с читаемыми юзером Книгами, к примеру
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 21:28
User::with('books'), где books - метод для связи
Serhii
@whitesunset
Apr 17 2015 21:29
спасибо тебе, добрый человек
Vitaliy Kravchyshyn
@freevital
Apr 17 2015 21:30
Serhii
@whitesunset
Apr 17 2015 23:37
отстраненный вопрос по архитектуре. предположим, есть куча урлов, из коротых нужно постоянно тянуть и обновлять данные. каждый час. плюс каждый раз, когда пользователь добавляет в систему новый урл - надо ставить новый таск "вытянуть данные и положить в дб". как лучше это сделать на Ларе? хотя бы в двух словах, куда копать. Читаю сейчас http://laravel.com/docs/master/artisan#scheduling-artisan-commands - это подходящий вариант для подобных тасков?