These are chat archives for LaravelRUS/chat

5th
Aug 2015
JhaoDa
@jhaoda
Aug 05 2015 00:33
@codder414 а что, оригинальный клиент не устраивает?
Andrey
@Quiss
Aug 05 2015 05:41
@codder414 для тех кто не любит гуглить: https://gitter.im/apps
@codder414 если не нравится, собери свой из API
Vitaliy
@dormammun
Aug 05 2015 06:41
Подскажите как из middleware обращатся к базе ? Создать модель, указат use App\Модель и вызывать ? Хочу проверять подтвердил пользователь почту или нет, состояние хранится в базе, и если нет, то редиректить его из middleware, спасибо.
Sergey Mihaylov
@smskin
Aug 05 2015 07:30
@dormammun да, можешь просто обратиться к модели (Eloquent), либо напрямую через DB::table
Vitaliy
@dormammun
Aug 05 2015 08:10
Еще хотел спросить, как происходит загрузка файлов(классов), есть базовые классы которые загружаются по умолчанию, нужно лишь прописать их namespace и вызвать их, а что делать если я создал произвольный класс в любом месте, как или где указать Laravel, чтобы он его загрузил, я указываю в namespace путь к нему, а потом где то (к примеру в сервиспровайдере) указываю его namaspace, Laravel парсит namespace как путь к файлу и загружает его, и как узнать что Laravel грузит по умолчанию, к примеру те же middleware нужно создать, указать namespace, который является путем к этому файлу в файловой системе и в провайдере прописать этот namespace? спасибо за ответ
@dormammun перестань трогать фреймворк и учи язык
Uladimir Sadkou
@GaintVlad
Aug 05 2015 08:14
Привет. Имеем БД с 3-мя таблицами. Таблица1-Таблица2 (связь один ко многим). Таблица2-Таблица3 (связь один ко многим). Если нужно получить все записи из таблицы3 владелец которых одна запись Таблицы1, является ли предпочтительным (правильным) создавать прямую связь Таблица1-Таблица3 (один ко многим). Спасибо.
Uladimir Sadkou
@GaintVlad
Aug 05 2015 08:24
ок. спасибо
Daniil V. Savenkoff
@savenkoffcom
Aug 05 2015 08:26
Всем привет.
Soprun Vladislav
@vlsoprun
Aug 05 2015 08:33
Всем доброго времени суток и хорошего рабочего дня ))
Vitaly Gorbunov
@cezar62882
Aug 05 2015 09:10
Всем привет!
как вот эту хрень решить
class S
{
 private static $_instance = null;
 private $_x;

 public function getX ()
 {
 return $this->_x;
 }
 public function setX ($x)
 {
 $this->_x = $x;
 }

 public static function getInstance () 
 {
 if (!self::$_instance) {
 self::$_instance = new self;
 }
 return self::$_instance;
 }

 private function __construct ()
 {
 $this->setX(1);
 }
}

$s1 = S::getInstance();
$s2 = S::getInstance();

/*
вставьте сюда Ваш код
создавать новые классы запрещено
*/


echo $s1->getX(); // должно вывести 1
echo $s2->getX(); // должно вывести 2
?>
butschster
@butschster
Aug 05 2015 09:13
@cezar62882 lol $s2->setX(2)?
@savenkoffcom @vlsoprun привет
Vitaly Gorbunov
@cezar62882
Aug 05 2015 09:14
@butschster тогда обе двойки будут, это все один объект
есть варианты кроме?
 $s2 = clone $s1;
$s2->setX(2);
Maksim (Ellrion) Platonov
@Ellrion
Aug 05 2015 09:16
только)
$s2 = clone $s2;
$s2->setX(2);
Maxim
@Big-Shark
Aug 05 2015 09:17
с ходу только
$s2 = clone $s2;
$s2->setX(2);
тут не совсем понятно что подразумевается под "создавать новые классы запрещено"
nnnikolay
@nnnikolay
Aug 05 2015 09:18
никто не говорит что нельзя менять существующий код :)
Maxim
@Big-Shark
Aug 05 2015 09:18
))
Maksim (Ellrion) Platonov
@Ellrion
Aug 05 2015 09:19
вообще задача тупая, видимо на знание реализации патерна синглтон в пыхе, и намек на то, что в классе забыли закрыть __clone
а так вообще можно вот такое еще
class S2 {public function getX(){return 2;}}
$s2 = new S2();
Vitaly Gorbunov
@cezar62882
Aug 05 2015 09:23
да это тупой пример с синглтоном, сейчас уже позднее статическое связывание есть и такие синглотны только школьники пишут
butschster
@butschster
Aug 05 2015 09:25
@cezar62882 это ты на работу прямо в данный момент устраиваешься?
Maksim (Ellrion) Platonov
@Ellrion
Aug 05 2015 09:27
а еще можно вот так
$s2 = unserialize(serialize($s2));
$s2->setX(2);
я уже 3 способа придумал)
butschster
@butschster
Aug 05 2015 09:28
@Ellrion ерундой занимаешься
от этих решений пользы 0, только трата времени и проверка непонятно чего
Maksim (Ellrion) Platonov
@Ellrion
Aug 05 2015 09:30
разминка для мозга
butschster
@butschster
Aug 05 2015 09:30
@Ellrion если много свободного времени потрать его лучше с пользой, мне для KodiCMS нужен новый тип полея для раздела Datasource - tags (теги)
который можно было бы использовать для указания тегов для документов
Друзья, вообще KodiCMS уже сейчас приближается к возможностям предоставляемым админкой sleepingOwl
создание новых разделов через админ панель, связывание разделов между собой полями hasMany, hasOne, belongsTo и т.д.
добавление кастомных полей (string, integer, html, text, date, timestamp и т.д.) в раздел
в общем админку можно генерировать без программирования
Vitaly Gorbunov
@cezar62882
Aug 05 2015 09:34
@butschster на работу
@Ellrion спасибо
Maksim (Ellrion) Platonov
@Ellrion
Aug 05 2015 09:36
@butschster я не очень положительно отношусь к CMS. так что спасибо но нет. И позвольте мне самому решать что для меня "тратить время с пользой"
ostashevdv
@ostashevdv
Aug 05 2015 09:38
Всем привет. Кто плотно юзал OctoberCms ? Какие впечатления?
butschster
@butschster
Aug 05 2015 09:39
@Ellrion а причем здесь отношение к CMS? Я тебе предложил отличный вариант тренировки мозга, при этому используя фреймворк Laravel. Да и это меньше CMS, больше CMF. И да, я не позволяю тебе самому решать, раз уж ты ждешь моего позволения
@ostashevdv привет, впечатления хуже чем от KodiCMS
YAAP
@yaapis
Aug 05 2015 09:40
@butschster привет, впечатления хуже чем от KodiCMS
Было бы странно, если бы наоборот сказал ;)
butschster
@butschster
Aug 05 2015 09:42
@yaapis ну если сравнивать с точки зрения использования возможностей фреймворка laravel , то October особо ничего не использует, в KodiCMS по полной использубтся возможности
Vitaly Gorbunov
@cezar62882
Aug 05 2015 09:42
@butschster ты не предложил вариант тренировки мозга, ты предложил неоплачиваемую работу :)
butschster
@butschster
Aug 05 2015 09:42
в плане функционала в KodiCMS есть генерация разделов различных, в October не особо
@cezar62882 чейто? я разрабатываю OpenSource проект и за него ничего не получаю, так что это вполне тренировка, где ты принимаешь участие в развитии проекта
и в зависимости от интенсивности можешь стать и соавтором
Vitaly Gorbunov
@cezar62882
Aug 05 2015 09:44
@butschster просто то что ты предложил требует намного больше усилий нежеле чем я спросил на 5 минут задание.
Maksim (Ellrion) Platonov
@Ellrion
Aug 05 2015 09:45
@butschster как бы 10 строк просмотреть или разобраться в архитектуре проекта, разница ощутимая
butschster
@butschster
Aug 05 2015 09:45
@cezar62882 только твое бесполезное, а здесь ты сможешь свои знания применить относительно реальной задачи
Vitaly Gorbunov
@cezar62882
Aug 05 2015 09:46
согласен, бесполезное, но может мне помочь в трудоустройстве
butschster
@butschster
Aug 05 2015 09:46
@Ellrion архитектуру всего проекта изучать нет смысла, достаточно изучить только часть относящуюся к созданию разделов и типов полей
@cezar62882 ну так вот ты сам и говоришь, что ты просишь бесплатно помочь тебе заработать денег :)
а изначально намекал на то что я предлагаю неоплачиваемую работу
Maksim (Ellrion) Platonov
@Ellrion
Aug 05 2015 09:50
ладно кончайте бессмысленную демагогию. предложение посмотреть проект я услышал, мб и поучаствую.
Nnxoxo
@Nnxoxo
Aug 05 2015 09:50
Добрый день. Такой вопрос может кто-то мне помочь объяснить логику работы приложения по моему ТЗ?
Vitaly Gorbunov
@cezar62882
Aug 05 2015 09:51
@butschster я просто объяснил в чем разница от тренировки мозга и от полноценной работы
Uladimir Sadkou
@GaintVlad
Aug 05 2015 09:51
Могут все. Пиши. Может повезет.
Maksim (Ellrion) Platonov
@Ellrion
Aug 05 2015 09:52

помочь объяснить логику работы приложения по моему ТЗ

смысл фразы ускользает от меня

Nnxoxo
@Nnxoxo
Aug 05 2015 09:52
по ТЗ написанному для меня*
так будет, имхо, понятнее
YAAP
@yaapis
Aug 05 2015 09:53
@cezar62882 согласен, бесполезное, но может мне помочь в трудоустройстве
Постановка задачи забавная
Вы тех. лиду сразу сообщите, что задачи за вас так же комьюнити будет делать)))
butschster
@butschster
Aug 05 2015 09:53
@Nnutthowze давай уже к делу
Nnxoxo
@Nnxoxo
Aug 05 2015 09:53
ок, сек

Задание - PHP приложение, для которого не нужны front-end, admin панели, конфигурации.

  1. Создать vagrant VM с Laravel Homestead.
  2. Использовать Laravel 5 и создать базовую User Model, Location Model и Phone Number Model.
  3. Создать Migrations чтобы сделать таблицы
  4. Сделать PHPUnit Test для валидации Phone numbers.

Users и Locations могут быть id, но должны находиться в разных таблицах.

  • User model - это базовый аккаунт User.
  • Location model - это офис.
  • Phone Number - присваивается Users и Locations.

Location связи:

  1. Locations - это адреса офисов, присвоенные Users.
  2. 1 User может иметь много Locations.
  3. 1 Location может иметь много Users.

Phone Number связи:

  1. 1 User может иметь много Phone Numbers
  2. 1 Location может иметь много Phone Numbers ???
  3. Много Users в 1 Location может иметь 1 Phone Number

Приложение должно поддерживать:

  1. Возможность добавления Phone Number к User и Location.
  2. Сделать проверку, чтобы гарантировать то, что phone numbers корректны. ( giggsey/libphonenumber-for-php или что-то похожее)
  3. Full unit testing adding/editing/creating/updating/validating phone numbers
Расскажу, что я сделал... и что мне кажется странным
Vitaly Gorbunov
@cezar62882
Aug 05 2015 09:55
@yaapis не беспокойся, такие тупые задания не будут, сам справлюсь в дальнейшем
@yaapis комьюнити для того и есть что бы помогать друг другу
Nnxoxo
@Nnxoxo
Aug 05 2015 09:56
начну со странного. Связи - как в одной локации может быть много телефонных номеров, но при этом много юзеров в 1 локации обладают таким же номером телефона?
YAAP
@yaapis
Aug 05 2015 09:57

@cezar62882 та я не особо беспокоюсь =)
Подход просто забавный.
Я вполне себе понимаю - искать задачу в гугле, но просто спрашивать ответа =))

@cezar62882 У нас с вами разные подходы к помощи. Помочь с задачей, которая поставила в тупик - очень даже .. А вот спрашивать решение из ТЗ....

Maksim (Ellrion) Platonov
@Ellrion
Aug 05 2015 09:58
@Nnutthowze в офисе несколько отделов, в каждом отделе телефон например
Nnxoxo
@Nnxoxo
Aug 05 2015 09:58
@yaapis я не прошу вашего решения... я не могу уловить сути...
YAAP
@yaapis
Aug 05 2015 09:59
@Nnutthowze эм, я кагбе не ваш случай проговаривал, я общался с тов. @cezar62882 =)
Maxim
@Big-Shark
Aug 05 2015 09:59
@Nnutthowze ну локейшены и юзерс связаны много ко многим, и через полиморвы связаны 1 к 1 с телефонами
YAAP
@yaapis
Aug 05 2015 10:00
@Nnutthowze А вот спрашивать решение из ТЗ....
Я не про ваше ТЗ говорил,. я про тех. задание при собеседовании
butschster
@butschster
Aug 05 2015 10:00
@Nnutthowze ну у тебя пользователь может иметь личный телефон, офис может иметь телефоны и пользователь в офисе может иметь телефон
Nnxoxo
@Nnxoxo
Aug 05 2015 10:02
@yaapis, тогда извините.
сейчас попытаюсь нарисовать схему, которую предложил @Big-Shark .
Maksim (Ellrion) Platonov
@Ellrion
Aug 05 2015 10:04
просто в связи User-Location нужно доп поле с указание того телефона в этом локешене по которому пользователь доступен
Nnxoxo
@Nnxoxo
Aug 05 2015 10:14
У меня был такой вариант, но тогда не будет соблюдаться условие, при котором "Одна локация - много тел. номеров". locations_table(id_loc[PK, FK] address, phone_number), users_table(id_user[PK, FK], user_name), locations_src(id[PK], id_user[FK], id_loc[FK]) связи от locations - users 1 ко многим с locations_src
Maksim (Ellrion) Platonov
@Ellrion
Aug 05 2015 10:18
@Nnutthowze там не сам телефон, а id в таблице телефонов. а так еще пользователи и локации связаны с телефонами через полиморфную связь. правда так получается, что будет отдельные методы на личный контактный телефон и рабочие контактные телефоны (со стороны пользователя)
Maksim (Ellrion) Platonov
@Ellrion
Aug 05 2015 10:21
не успел) тоже хотел эту ссылку кинуть
Paul Klementyev
@klermonte
Aug 05 2015 10:21
Велосипедами торгуешь гляжу:D
Maksim (Ellrion) Platonov
@Ellrion
Aug 05 2015 10:21
да и потом подрубать это как пакет, это же идиотизм
Nikolay Denisenko
@PEKTOP
Aug 05 2015 10:25
когда искал не нагуглился предложеный пакет, а то что находил было небрежно отформатировано. тоскал из проекта в проект свои файлы с переводами. а сейчас вот решил скинуть в репос, чтобы было удобнее тоскать из проекта в проект.
@Ellrion ну это решать каждому как - как это должно быглядеть. ведь люди подключают jquery для того чтобы воспользоваться только hide() show()... к тому же можно после публикации ресурсов удалить или закоментить его из зависимостей.
Maksim (Ellrion) Platonov
@Ellrion
Aug 05 2015 10:30
@PEKTOP нет конечно я никому запретить не могу, я просто выразил свое мнение)
Роман Сохарев
@greabock
Aug 05 2015 11:23
я вот кстати, одно время все хотел собрать такой файлик
https://github.com/greabock/systemlang/blob/master/system.php
но потом забил
JhaoDa
@jhaoda
Aug 05 2015 12:00
Люди ставят бубунту, люди пытаются кодить на ларавель, но не знают, что в линупсах все файлы, имя которых начинается с точки — скрытые.
Почему я это знаю, хотя всю жизнь сижу на вендах?
Uladimir Sadkou
@GaintVlad
Aug 05 2015 12:09

У меня был такой вариант, но тогда не будет соблюдаться условие, при котором "Одна локация - много тел. номеров". locations_table(id_loc[PK, FK]

user->phone связь один ко многим
location -> phone связь один ко многом
Пускай тебя не смущает что один и тот же телефон может относится как к USER так и к Location. Это нормально.

Для сложной связи " 1-много-1" можно создать промежуточную таблицу UsersGroup. Связь от группы к полизователям один ко многим.
Связь Location->UserGroup - один к одному. Связь UserGroup->Phone - один к одному

Nnxoxo
@Nnxoxo
Aug 05 2015 13:01
@GaintVlad спасибо так и делаю
wiyfn
@wiyfn
Aug 05 2015 13:08
Дайте совет, где лучше хранить данные парсера. Нужно спарсить таблицу которая состоит из 500 и более строк. Данная таблица просто будет отображатся на сайте, никаких действия с ней происходить не будет. html код получаеться слишком большим. Может лучше данные сохранять в файле, а не в БД. Данные изменяться будут примерно 12 раз в месяц.
nnnikolay
@nnnikolay
Aug 05 2015 13:09
в любом хранилище, от кеша до бд
Andrey
@Quiss
Aug 05 2015 13:11
Данная таблица будет отображаться на сайте, никаких действий с ней происходить не будет
Данные изменяться будут примерно 12 раз в месяц
хм
где подвох?)
wiyfn
@wiyfn
Aug 05 2015 13:13
ну я про то что кроме выборки данных нечего происходить не будет (сортировки и тд..).
ну и обновления
nnnikolay
@nnnikolay
Aug 05 2015 13:18
подскажите мне п-та я посмотрел в дебагбаре есть контроллер у меня не получается его заюзать
пишет вот это
ErrorException in Application.php line 1263:
Undefined variable: closure
и да у меня люмен )
в Ларавеле оно то заводится таким образом ?
просто роут прописал к контроллеру по fqcn
на страницах сам дебаг бар работает
но я хочу именно standalone дебагбар
Роман Сохарев
@greabock
Aug 05 2015 13:23

user->phone связь один ко многим
location -> phone связь один ко многом
Пускай тебя не смущает что один и тот же телефон может относится как к USER так и к Location. Это нормально.

В самом деле, ну а что такого, что у юзера с id 15 телефон такойже как у локации с id 15. Это нормально. Не надо смущаться

nnnikolay
@nnnikolay
Aug 05 2015 13:26
видимо я не правильно его прописал
Vasily Kraev
@vasilykraev
Aug 05 2015 13:26
@/all Ребята, я ищу laravel разработчика на удаленку.
Сейчас есть проект на laravel 4.2. Нужны его доработать, в том числе – перенести на 5-ю версию. После этого – развивать дальше, то есть это не сайт на 1-2 недели, а хороший проект и постоянная работа.
ТЗ есть, руководство адекватное. Бюджет 30-60 тыс. рублей / месяц (в зависимости от уровня кандидата и загруженности), либо почасовой рейт.
Пишите в скайп vasilykraev
nnnikolay
@nnnikolay
Aug 05 2015 13:26
сейчас вот так вот прописано
$app->get('/debugbar', [
        'uses' => 'Barryvdh\Debugbar\Controllers\OpenHandlerController@handle'
    ]);
Uladimir Sadkou
@GaintVlad
Aug 05 2015 13:27
@greabock Это нормально. Мобильник пети который работает в отделе продаж, числится за отделом продаж
JhaoDa
@jhaoda
Aug 05 2015 13:33
@nnnikolay у дебагбара же есть провайдер для люмена, зачем ты руками регистрируешь роут?
nnnikolay
@nnnikolay
Aug 05 2015 13:34
ага да нашел там он регит пути
я ж не знаю ) нигде в доке по бару не написано как заполучить этот урл.. я вообще о нем узнал когда в исходники пакета залел
JhaoDa
@jhaoda
Aug 05 2015 13:35
@nnnikolay заглядывать в сорцы — правило №2 после «погуглить»
nnnikolay
@nnnikolay
Aug 05 2015 13:35
так гуглил ж.. обижаешь
а ты что писал в поиске ?
JhaoDa
@jhaoda
Aug 05 2015 13:35
Или даже наоборот
@nnnikolay я ничего не писал, я и так знаю, что есть провайдер для люмена
nnnikolay
@nnnikolay
Aug 05 2015 13:36
))
JhaoDa
@jhaoda
Aug 05 2015 13:36
Некоторое время назад довелось заглядывать в сорцы
Это вообще полезно, можно новые приемчики подглядеть
nnnikolay
@nnnikolay
Aug 05 2015 13:37
100%
JhaoDa
@jhaoda
Aug 05 2015 13:37
Кунг-фу не должно стоять на месте, его надо развивать
NelinD
@NelinD
Aug 05 2015 13:38
@jhaoda f tckb
@jhaoda а если это ленивое кун-фу?)
nnnikolay
@nnnikolay
Aug 05 2015 13:38
панды ? :)
Paul Klementyev
@klermonte
Aug 05 2015 13:38
@NelinD не, это дзен)
nnnikolay
@nnnikolay
Aug 05 2015 13:42
черт так это не то:(
так получается в нем нет стэндэлон решения ?
JhaoDa
@jhaoda
Aug 05 2015 13:44
@nnnikolay ты если не знал, ларвель-дебагбар это надстройка над стэндалон-дебагбаром maximebf/debugbar
nnnikolay
@nnnikolay
Aug 05 2015 13:44
да я видел, но тот стэндэлон я никогда не юзал
JhaoDa
@jhaoda
Aug 05 2015 13:44
Бери его и юзай, в чем трабл?
nnnikolay
@nnnikolay
Aug 05 2015 13:45
:) наверно не в чем.. просто думал ларавел вей )
JhaoDa
@jhaoda
Aug 05 2015 13:45
Капец: человек берет ларавель-пакет, а потом жалуется, что без ларавель его сложно заставить работать
Где логика-то?
nnnikolay
@nnnikolay
Aug 05 2015 13:45
погоди там написано и установка для люмена
JhaoDa
@jhaoda
Aug 05 2015 13:46
@nnnikolay тогда я не понимаю, что тебе надо
nnnikolay
@nnnikolay
Aug 05 2015 13:47
я и подумал раз и для люмена работает то отлично, но потом я осозна лчто мне от него ни холоно ни жарко ) и мне нужно стэндэлон решение, я начал копать исходник увидал там есть контроллеры и один мне показался интересным.. завел его увидел что это не то что мне нужно
если не брать пакет то самому придется его интегрировать с приложением.. нафига:) лучше допилить пакет.. пакет то рабочий все гуд.. просто похоже в нем в принципе нет стэндэлон юзер интерефейса
Sergey Mihaylov
@smskin
Aug 05 2015 13:55
День добрый.
Ктонибудь пользовался очередями с важными задачами?
Допустим есть задача, мы ее помещаем в redis. Во время исполнения происходит ошибка 500 (выставляю в супервизоре 3 попытки).
Нужно чтобы она как то сдампилась, чтобы админ мог ее запустить принудительно после исправления ошибки в коде.
Правильно я понимаю, что можно юзать artisan queue:retry для перезапуска упаших задач?
Maxim
@Big-Shark
Aug 05 2015 13:56
@smskin супер визор тут не причем, задачи запускаются в отдельных процесах
Sergey Mihaylov
@smskin
Aug 05 2015 13:56
@Big-Shark это я понимаю
@Big-Shark Задача - заявка от клиента. Терять ее нельзя. Заявка приводит в действие кучу бизнес логики - в основном потоке делать это нельзя
@Big-Shark То есть заявка = ajax запрос, валидация на корректность => result:true, а далее уже сервак выполняет все операции
Maxim
@Big-Shark
Aug 05 2015 13:58
@smskin если мне не изменяет память, то такие задачи при фейли пишутся в бд
Sergey Mihaylov
@smskin
Aug 05 2015 13:59
@Big-Shark это так. Просто не понимаю маленько механизм работы. В БД что именно запишет - ссылку на вызов метода или же метод (хотя наверное это было бы глупо).
Поможет ли исправление ошибки и перезапуск задачи?
@jhaoda читал, любитель отсылать в мануалы )
@jhaoda уведомлялку уже реализовал. Больше интересует как именно происходит повтор задачи. А этого особо в мануале не написано.
JhaoDa
@jhaoda
Aug 05 2015 14:02
@smskin зафейленая задача никак не повторяется сама
Sergey Mihaylov
@smskin
Aug 05 2015 14:02
@jhaoda был метод записи в базу, он ошибочен. Поправив метод и вызвав повтор задачи с теми же входными параметрами - он вызовет старое содержимое метода или уже новое?
Я к тому, что задача устроена как ссылка или объект?
@jhaoda можно запустить повтор через artisan
JhaoDa
@jhaoda
Aug 05 2015 14:03
@smskin не пробовал глянуть, в каком виде хранится задача в БД?
Maksim (Ellrion) Platonov
@Ellrion
Aug 05 2015 14:03
там же по идее сериализованный объект работы хранится
JhaoDa
@jhaoda
Aug 05 2015 14:04
@smskin
{"job":"Illuminate\\Events\\CallQueuedHandler@call","data":{"class":"App\\Listeners\\Comment\\SendPublicationConfirmation","method":"handle","data":"a:1:{i:0;O:27:\"App\\Events\\CommentWasWritten\":2:{s:4:\"post\";O:45:\"Illuminate\\Contracts\\Database\\ModelIdentifier\":2:{s:5:\"class\";s:7:\"App\\Post\";s:2:\"id\";i:20295;}s:7:\"comment\";O:45:\"Illuminate\\Contracts\\Database\\ModelIdentifier\":2:{s:5:\"class\";s:10:\"App\\Comment\";s:2:\"id\";i:153819;}}}"}}
Sergey Mihaylov
@smskin
Aug 05 2015 14:04
@jhaoda пробывал - не смог понять.
{"job":"IlluminateQueueClosure","data":{"closure»:»»},,"id":"uTwgEb9ouRE7Vqf1ZfEtVGmzbxFyp2LW","attempts":4}
@jhaoda не смог понять что там в closure
JhaoDa
@jhaoda
Aug 05 2015 14:05
@smskin а у тебя что, обработчик задания — замыкание, а не класс?
Sergey Mihaylov
@smskin
Aug 05 2015 14:08
@jhaoda метод в классе. Видно в моем примере что то в замыкании есть еще, помимо вызова метода. Я правильно понимаю, что задача - это просто отложенное выполнение метода с заданными параметрами. То есть при рестарте задачи он по идее должен вызвать метод из исходника?
Paul Klementyev
@klermonte
Aug 05 2015 14:08
@smskin в базу пишется имя джобы и ее payload, так что обработка будет идти заново, как будто это новая джоба
Sergey Mihaylov
@smskin
Aug 05 2015 14:08
@klermonte понял, спасибо.
@klermonte а то смутило содержимое failed_jobs
Paul Klementyev
@klermonte
Aug 05 2015 14:10
относись к ним как к отдельной очереди, ничем более они не отличаются
Sergey Mihaylov
@smskin
Aug 05 2015 14:12
@klermonte точно, это же просто очередь еще одна )
Сразу и не сообразил ) Логично - задача не выполнилась, отложим в другую очередь.
Paul Klementyev
@klermonte
Aug 05 2015 14:13
ну да, единственное отличие, мы всегда знаем id зафейленой джобы, поэтому можем ее перезапустить
tema-proximo
@tema-proximo
Aug 05 2015 15:37
Всем привет, делаю поиск по нескольким полям в БД, есть какие-нибудь готовые решения для этого?
Soprun Vladislav
@vlsoprun
Aug 05 2015 15:40
@tema-proximo сам не пробывал, но вот тебе ссыль http://laravelinfo.com/laravel-searchable-the-best-package-for-eloquent
Maksim (Ellrion) Platonov
@Ellrion
Aug 05 2015 15:43
а можно не плодить ссылки и дать сразу на источник https://github.com/jarektkaczyk/eloquence/wiki/Builder-searchable-and-more
tema-proximo
@tema-proximo
Aug 05 2015 15:45
@vlsoprun @Ellrion спасибо
JhaoDa
@jhaoda
Aug 05 2015 16:11
Вот она, слава! Писали один проект в одной студии. Через некоторое время у клиента кончилось бабло и он слинял. Через полгода узнаю, что он пришел с этим проектом в самую крутую уэб-студию города
Студия посмотрела и сказал: чо за мудаки это писали? Какие-то ларавели с ангулярами и beanstalk'ами, чо за херня ваще?
Alexander
@Dualse
Aug 05 2015 16:14
@jhaoda А на чем пишет самая крутая студия города?
JhaoDa
@jhaoda
Aug 05 2015 16:14
@Dualse какая-то своя CMS
Alexander
@Dualse
Aug 05 2015 16:19
@jhaoda У нас в больнице тоже используется CMS местной студии, раз случай был, она мне талон на прием выбила, со временем и кабинетом, прихожу к врачу в указанное время, а оказывается, что выбивая список врачу, меня забыла, в итоге полтара часа сидел возле кабинета, ждал пока мою карточку найдут)
JhaoDa
@jhaoda
Aug 05 2015 16:24
Короче, деревня наша маленькая и эти ребята на нас вышли, предлагают поддерживать проект. Проект-то жирный, ибо клиент не из простых, но у самих ума не хватает:)
Alexander
@Dualse
Aug 05 2015 16:37
)
JhaoDa
@jhaoda
Aug 05 2015 16:43
А там ещё 4.2. Ваще не тянет копаться в этом. И времени нет
Alexander
@Dualse
Aug 05 2015 16:44
При загрузке файла на сервер, расширение файла надо отдельно добавлять? А то у меня все файлы без расширения загружаются.
JhaoDa
@jhaoda
Aug 05 2015 16:44
@Dualse ну значит ты так сохраняешь
Alexander
@Dualse
Aug 05 2015 16:44
Input::file('document')->move('files/')
Думал, если имя не указывать, то будет оригинальное сохранятся
JhaoDa
@jhaoda
Aug 05 2015 16:49
@Dualse вот что написано глубок в недрах симфони:
null === $name ? $this->getBasename() : $this->getName($name)
Alexander
@Dualse
Aug 05 2015 16:53
У меня все имена пишутся, как "phppNqtHJ", "phpcgpg9h"
JhaoDa
@jhaoda
Aug 05 2015 17:11
@Dualse это имя временного файла. На винде, например, что-то типа php4568.tmp
@Dualse так что формируй имя руками, например, через str_random(10) и расширение не забывай
Alexander
@Dualse
Aug 05 2015 17:15
@jhaoda В моем случае, расширение может разным. В доках нашел функцию getMimeType(), так понимаю ее надо использовать, чтобы узнать расширение?
Alexander
@Dualse
Aug 05 2015 17:30
Эта функция возращает mime application/zip, как можно оставить только вторую часть? )
JhaoDa
@jhaoda
Aug 05 2015 17:30
@Dualse а что, посмотреть оригинальное расширение что-то мешает?
@Dualse mime-тип к расширению имеет весьма опосредованное отношение
Alexander
@Dualse
Aug 05 2015 17:33
@jhaoda Все, нашел нужную функцию getClientOriginalExtension, с плохим английским тяжело доки читать)
Вопрос немного не по теме чата, но кто-нибудь пытался создать некое подобие многопоточности в php?
JhaoDa
@jhaoda
Aug 05 2015 18:06
@Dualse зачем пытаться, если она уже есть? Хотя давай уточним — ты про те потоки, которые threads или про форкинг процессов?
Alexander
@Dualse
Aug 05 2015 18:12
Просто есть задача, вычислить число пи с заданной точностью методом монте-карло, используя параллельное вычисление.
Я приблизительно накинул, как это должно быть в теории
А на практике понятие не имею, гуглил только старые статьи, в которых толком и не разобрался)

Есть функция, которая высчитывает определенное значение. Задается стартовое значение (точность вычислений), которое указывает количество выполнений. Допустим, мы хотим произвести вычисления с точностью 300, это можно было бы разбить на 3 потока:

вычислял бы значение от 1 до 100
от 101 до 200
от 201 до 300
В конце достаточно сложить результаты выполнения этих потоков и вывести результат. Но каким образом их запустить синхронно, понятия не имею.

Кто-то советовал, что можно через curl
Const
@umren
Aug 05 2015 18:13
пхп не для таких задач
не вижу смысла натягивать задачу на него
даже если натянешь, это будет тупо медленно
Alexander
@Dualse
Aug 05 2015 18:15
@umren А почему медленно? Теоритически должно быть быстрее, чем при поочередном выполнение, но с большой нагрузкой на сервер.
Const
@umren
Aug 05 2015 18:16
быстрее, но кой нидь С в один поток это быстрее посчитает в разы чем эта балолайка
есть же куча инструментов для рассчетов
почему бы не использовать их?)
Alexander
@Dualse
Aug 05 2015 18:17
@umren А ну там и реализовать это можно из коробки)
Const
@umren
Aug 05 2015 18:17
из коробки пхп?
считать пи?
Alexander
@Dualse
Aug 05 2015 18:17
Нет, я про С, что там из коробки есть многопоточнсть, если мне память не изменяет
@umren Это задача только для примера, а задачу поставили написать на РНР класс, который бы реализовывал параллельные вычисления определенных функций.
Const
@umren
Aug 05 2015 18:19
не, там изкаробки ее нету, но все примитивы у тебя для этого есть
JhaoDa
@jhaoda
Aug 05 2015 18:19
@Dualse тестовое задание, однако? :)
Const
@umren
Aug 05 2015 18:19
если ты хочешь изкаропки многопоточность, а еще если ты хочешь это на разных ядрах считать, то думаю это легко на Go реализовать
Alexander
@Dualse
Aug 05 2015 18:19
@jhaoda Ага, причем на джуна)))
JhaoDa
@jhaoda
Aug 05 2015 18:20
@Dualse если это та контора, что я думаю, и то тестовое задание, то там нельзя юзать многопоточность
Const
@umren
Aug 05 2015 18:20
а, тестовые задания, я уж думал такое реально кому то надо
подумал бред))
Alexander
@Dualse
Aug 05 2015 18:25
@jhaoda Может речь идет о разных конторах, просто там всего одно задание про многопоточность, и ответить, что многопоточность в пыхе отсутствует, как-то просто)))
JhaoDa
@jhaoda
Aug 05 2015 18:25
@Dualse какой город?
Alexander
@Dualse
Aug 05 2015 18:26
@jhaoda В личку ссылку кинул)
SekToRCoM
@SekToRCoM
Aug 05 2015 18:46
Добрый вечер. Как у {!! Form::open() !!} указать принадлежащий контроллер?
Без роутов.
Andrew Zhuravchak
@Retsediv
Aug 05 2015 19:01
Здравствуйте. Уже второй день над етим бьюсь, даже ось переустановил по определенным причинам, а homestead дальше не работает.
При команде vagrant up загрузка доходит до места
default: SSH auth method: private key
а дальше..
default: Warning: Connection timeout. Retrying...
Ключи делал так, как на офф. сайте написано, пути проверил, они точно правильные и по разному пробовал их записать. В чем проблема может быть?
Илья.
@IlyaVorozhbit
Aug 05 2015 20:39

Ребят, всем привет.
Какое можно написать правило для роутинга, чтобы url вида:
/market/vesna_osen/komplekty_verhnej_odejdy/dlya_malchikov/krasnie

раскладывалось по слэшу? (минимальное тз: чтобы хватались последние два элемента)

Это для того, чтобы сделать рекурсивные категории

nnnikolay
@nnnikolay
Aug 05 2015 20:40

Вечер добрый тем кто не спит :)

а что это за страница с ошибкой ? я имею ввиду что у меня она всегда серая и вроде как проще что ли :)
а тут прям какой-то прикольный вид
это какое то дополнение или как ?
http://imgur.com/Kzytbdy

Soprun Vladislav
@vlsoprun
Aug 05 2015 20:42
This message was deleted
SekToRCoM
@SekToRCoM
Aug 05 2015 20:43
Добрый вечер. Как у {!! Form::open() !!} указать принадлежащий контроллер?
Soprun Vladislav
@vlsoprun
Aug 05 2015 20:43
@nnnikolay filp/whoops
JhaoDa
@jhaoda
Aug 05 2015 20:43
@SekToRCoM что значит «принадлежащий контроллер»?
SekToRCoM
@SekToRCoM
Aug 05 2015 20:44
@jhaoda нужно чтоб форма обращалась не через роут (с post), а сразу к контроллеру.
JhaoDa
@jhaoda
Aug 05 2015 20:45
@SekToRCoM не понимаю
SekToRCoM
@SekToRCoM
Aug 05 2015 20:45
{!! Form::open(['action'=>'AdminController@create']) !!}
тип такого
Soprun Vladislav
@vlsoprun
Aug 05 2015 20:45
This message was deleted
@SekToRCoM да
SekToRCoM
@SekToRCoM
Aug 05 2015 20:45
оно так и работает?
JhaoDa
@jhaoda
Aug 05 2015 20:46
Жесть какая... народ, для кого доки пишут?
SekToRCoM
@SekToRCoM
Aug 05 2015 20:47
В русских доках нет половины.
JhaoDa
@jhaoda
Aug 05 2015 20:47
@SekToRCoM доки по этому компоненту не переводили после 4.2
Да и что, русские доки — единственные? Или вы хотите программировать без знания английского?
Удачи, чо...
nnnikolay
@nnnikolay
Aug 05 2015 20:51
@vlsoprun :+1:
Soprun Vladislav
@vlsoprun
Aug 05 2015 20:51
@nnnikolay :smile:
Илья.
@IlyaVorozhbit
Aug 05 2015 20:53
Нашел такой вариант: http://pastebin.com/ZA9WVmrH
Но при длине ссылки более чем в 1 подкатегорию, (к примеру: http://sd.com/categories/slug/g), приложение не ссылается на это правило
Нашел решение на том же форуме. (кому нужно: http://forum.laravel.gen.tr/viewtopic.php?id=1249, 10 пост)
alst161
@alst161
Aug 05 2015 21:15
народ помогите с SleepingOwl admin. при авторизации с главной страницы проекта не со страницы авторизации админов. ввожу логин и пароль админа и вхожу. но остальные данные он берёт другого пользователя. в чём проблема? т.е. я ввожу например admin/admin авторизируюсь как админ, но остальные данные (фамилия, имя и др) берётся другого пользователя (первого). удалил того пользователя. снова вошёл взял данные следующего пользователя. как это убрать?
Alex Soveliev
@suroviy
Aug 05 2015 21:16
подскажите библиотеку для сортировки по колонке в базе, а точнее чтобы при изменении не пер считывать ручками, или может формула есть какая?
@alst161 у тебя из какой таблице пользователи берутся?
Роман Сохарев
@greabock
Aug 05 2015 21:21
@suroviy если я тебя правильно понял, и если передача состояния по get ссылке не принципиальна, то можно воспользоваться datatables
SekToRCoM
@SekToRCoM
Aug 05 2015 21:22
В чем может быть ошибка?
// Action App\Http\Controllers\AdminController@create_post not defined.
{!! Form::open(['action'=>'AdminController@create_post']) !!}
---
public function create_post()
    { 
        $data = \Input::all();

        $url_translit = \App\Models\GET::translit($data['name']);

        if (strpos($data['category'], "— ")===false) {
            $category = $data['category'];
        }else{
            $category = explode("— ", $data['category']);
            $category = $category[1];
        }

        return $category;
}
alst161
@alst161
Aug 05 2015 21:22
@suroviy users
Роман Сохарев
@greabock
Aug 05 2015 21:23
@SekToRCoM в том, что роут на этот экшен не прописан?
SekToRCoM
@SekToRCoM
Aug 05 2015 21:23
@greabock зачем делать роут, если мы сразу обращаемся к контроллеру?
Роман Сохарев
@greabock
Aug 05 2015 21:23
роут все равно должен быть
а вообще за вот такое AdminController@create_post в средние века на костре сжигали =)
SekToRCoM
@SekToRCoM
Aug 05 2015 21:24
почему? :D
Alex Soveliev
@suroviy
Aug 05 2015 21:24
@greabock я не об этом, у меня есть поле в таблице sort в ней задается порядок сортировки, так вот когда я пиренашу выше или ниже запись, то мне нужно пересчитать всю колонку. Короче лучше не рассказывать как я это делаю сейчас))) Вопрос, может есть формула или библиотека?
Soprun Vladislav
@vlsoprun
Aug 05 2015 21:24
@greabock xD
Роман Сохарев
@greabock
Aug 05 2015 21:25
@suroviy ну не пузырьком явно XD
SekToRCoM
@SekToRCoM
Aug 05 2015 21:25
Я не знаю точную страницу сайта, откуда пользователь будет использовать эту форму. Она есть на каждой странице. Что же мне писать в роут?
Alex Soveliev
@suroviy
Aug 05 2015 21:25
@greabock пузырьком?
SekToRCoM
@SekToRCoM
Aug 05 2015 21:26
Потому я через action и обратился напрямую к контроллеру.
Роман Сохарев
@greabock
Aug 05 2015 21:26
@SekToRCoM потому, что АдминКонтроллер, он видимо как-то "одминоми" управлять должен, а не постами. А если он постами управляет, то это уже PostController... семантика, чтоб её...
@suroviy ну сортировка пуызырьком =)
SekToRCoM
@SekToRCoM
Aug 05 2015 21:27
Нит!!!!!
Всё прописано правильно, но оно почему-то выдает ошибку.
alst161
@alst161
Aug 05 2015 21:28
ребята какой вы подскажете пакет для real-time приложения?
Роман Сохарев
@greabock
Aug 05 2015 21:28
@SekToRCoM ой забей... пропиши роут и не мучайся
SekToRCoM
@SekToRCoM
Aug 05 2015 21:29
@greabock мне еще раз тогда повториться? Эта форма есть на каждой странице, что же мне в роуте писать?
Alex Soveliev
@suroviy
Aug 05 2015 21:30
@greabock ну у меня очень толстая таблица будет в последтвии, думаете сортировка пузырьком уместна в данном случаи, или надо вообще что то другое думать для сортировки
Soprun Vladislav
@vlsoprun
Aug 05 2015 21:30
@SekToRCoM Пожалуйста посмотри на route:list и найди нужный тебе маршрут для работы...
Так же пожалуйста прочти о PSR
Alex Soveliev
@suroviy
Aug 05 2015 21:31
@greabock плюс в этом случаи нужно делать все выгрузку таблици
Роман Сохарев
@greabock
Aug 05 2015 21:31

@suroviy да ну я же пошутил... так и написал

ну не пузырьком явно XD

:point_up: 6 августа 2015 г., 03:25

SekToRCoM
@SekToRCoM
Aug 05 2015 21:31
Но ведь я попросил помощи по action для формы :(
Через него лучше всего обратиться к контроллеру.
Denis Isaychenko
@Rhincodon
Aug 05 2015 21:32

@SekToRCoM любой пусть, пусть форма отправляется со всех страниц на один и тот же роут. Это же так очевидно. Могу порекомендовать такой:

Route::post('/otpravka_formi', 'AdminController@create_post');

Сам пользуюсь каждый день.

Alex Soveliev
@suroviy
Aug 05 2015 21:32
@greabock слава богу а то я уже испугался))) значит вариантов нету или не знаете?
Maksim (Ellrion) Platonov
@Ellrion
Aug 05 2015 21:36
@SekToRCoM у тебя то в роутах контроллер прописан как контроллер?
Роман Сохарев
@greabock
Aug 05 2015 21:37

@suroviy первое, что приходит в голову -

если место вставки меньше места выемки, то апдейтить сорировку на +1 от места места вставки до места выемки
если место вставки больше, чем место выемки, то апдейтить все на -1 от места выемки, до места вставки

Denis Isaychenko
@Rhincodon
Aug 05 2015 21:37
@SekToRCoM Ты же понимаешь что хелпер Form::openвсего лишь рендерит html форму с атрибутом action на урл который указан явно через параметр url или найден неявно если ты укажешь там action или route параметры, но в любом случае в результате будет форма с url-ом.
Alex Soveliev
@suroviy
Aug 05 2015 21:38
@greabock интересная идея, надо обмозговать
Роман Сохарев
@greabock
Aug 05 2015 21:38
@greabock а для целостности операции запилить это дело в одну транзакцию.
anfrantic
@anfrantic
Aug 05 2015 21:39
Всем доброго времени, у кого-нибудь получилось запилить хомстед на 10 венде -_-
Denis Isaychenko
@Rhincodon
Aug 05 2015 21:40
@suroviy а переносишь «выше» или «ниже» это имеется ввиду на клиенте ты допустим категории сортируешь через например jquery sortable или я не так что-то понял? :)
Alex Soveliev
@suroviy
Aug 05 2015 21:43
@Rhincodon с самой сортировкой проблем нет, так как есть специальное поле где и задается порядок сортировки, вот проблема изменения этого самого порядка при толстой таблице, а это действие будет происходить часто и нужно его оптимизировать.
Maksim (Ellrion) Platonov
@Ellrion
Aug 05 2015 21:44
@suroviy а почему бы не организовать это через связанный список?
т.е. хранить в поле не вес для сортировки а id следующего эллемента
Alex Soveliev
@suroviy
Aug 05 2015 21:47
@Ellrion все ровно придется пересчитывать, всех тех кто идет ниже, это скорее для построения дерева подходит.
@Ellrion идея не плохая, если второй параметр для сортировки допускается, а мне нужна к сожалению точная.
Maksim (Ellrion) Platonov
@Ellrion
Aug 05 2015 21:49
@suroviy с чего это прийдется пересчитывать? нужно будет только сменить пару ссылок на соседей
скрин я не очень понял.
или тебе важны сами значения весов а не только сортировка?
Alex Soveliev
@suroviy
Aug 05 2015 21:54
@Ellrion что то не то в вашей теории http://joxi.ru/8AnNBXgsdegZAO
Denis Isaychenko
@Rhincodon
Aug 05 2015 21:54
@suroviy я просто не совсем пойму, если это сортируется на клиенте через какой то плагин, то он обычно даёт нам при изменении сортировки данные о изменённых элементах, с какого места один элемент переместился и на чьё стал. Соответственно переписывать всё в базе нужно будет только если элемент переместился с первой позиции в конец, а так только элементы ниже новой позиции.
Alex Soveliev
@suroviy
Aug 05 2015 21:55
@Rhincodon это актуально если мы подгружаем все базу за раз, а у меня порядка 5к планируется записей
Denis Isaychenko
@Rhincodon
Aug 05 2015 21:56
и выше старой, забыл сказать
Alex Soveliev
@suroviy
Aug 05 2015 21:56
@Rhincodon так что пересчитывать придется на сервере и желательно по максимуму через sql запрос
Denis Isaychenko
@Rhincodon
Aug 05 2015 21:58
То есть ты перемещая элемент в середине допустим из позиции 5 в позицию 10 должен переписать сортировку только для элементов в промежутке 5-10.
Alex Soveliev
@suroviy
Aug 05 2015 21:58
@Rhincodon так точно
Maksim (Ellrion) Platonov
@Ellrion
Aug 05 2015 21:58
@suroviy я твои скрины не очень ппонимаю, все что тебе нужно при перестановке элемента у элемента который ссылался на него установить тот элемент на который ссылался переставляемый, а так же у элемента после которого мы вставляем выставить ссылку на переставляемый а у переставляемого делаем ссылку на тот элемент на который ссылался элемент после которого мы вставляем
просто загугли что такое связный список
одно но, это выборка не всех элементов а части. это проблематичная штука вроде
Alex Soveliev
@suroviy
Aug 05 2015 22:03
@Ellrion а эта технология построения к SQL вообще применима, как потом к ней запрос делать. Что то мне подсказывает что эта организация хронения в памяти элементов списка.
Maksim (Ellrion) Platonov
@Ellrion
Aug 05 2015 22:05
ну все зависит от того какие именно выборки вам делать
со списком пожалуй особо не разгуляешься)
Alex Soveliev
@suroviy
Aug 05 2015 22:07
@Ellrion понятно)) пойду тогда спать, может что с утра придет в голову...
Uladimir Sadkou
@GaintVlad
Aug 05 2015 22:08
@anfrantic Тока что перешел с 8,1->10. Правда у меня OpenServer. 3 часа полет нормальный
Роман Сохарев
@greabock
Aug 05 2015 22:09
@suroviy я тебе нормальное решение предложил, между прочим =)
спокойной ночи
@GaintVlad большой брат следит за тобой
Alex Soveliev
@suroviy
Aug 05 2015 22:10
@greabock что то мне подсказывает что твоим решением все и закончится)) спокойны ночи.
Uladimir Sadkou
@GaintVlad
Aug 05 2015 22:11
@GaintVlad большой брат следит за тобой
Может подкинет чего на бедность
Роман Сохарев
@greabock
Aug 05 2015 22:11
да я про десятку
Uladimir Sadkou
@GaintVlad
Aug 05 2015 22:12
параноики :)
Роман Сохарев
@greabock
Aug 05 2015 22:12
ну а что, гугл и так знает о тебе больше, чем твои близкие. Теперь вот микромягкие туда же
anfrantic
@anfrantic
Aug 05 2015 22:41
@GaintVlad Да, сейчас отчаяние доведет и меня до опенсервера, правда уже привык к вагранту, да и все-таки среда та же что и на продакшне :(
Ekuzkamaza
@Ekuzkamaza
Aug 05 2015 22:50

@SekToRCoM какая разница в скольких местах у тебя используется форма. В определении формы указываешь

<form method="POST" action="{{ URL::route('a-t-store') }}" accept-charset="UTF-8" role="form" enctype="multipart/form-data">

в роутах пишеш

        Route::post('create',           ['as' => 'a-t-store', 'uses' => 'CollectorController@store']);