These are chat archives for LaravelRUS/chat

9th
Mar 2015
LaravelButler

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

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

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

Константин Брызгалин
@constb
Mar 09 2015 04:02 UTC

@sergio-l в mysql нельзя добавлять foreign key на создаваемую таблицу. надо её сначала создать, а потом добавлять ключ:

Schema::create('persons', function($table){
    $table->increments('id_person');
    $table->string('last_name', 100);
    $table->string('name', 100);
    $table->integer('id_department');
});
Schema::table('persons', function($table){
    $table->foreign('id_department')->references('id_department')->on('departments');
});

вот так будет работать.

Константин Брызгалин
@constb
Mar 09 2015 04:07 UTC
@sergio-l кроме того, замена имени первичного ключа с дефолтного 'id' требует явного объявления на модели
    /**
     * The primary key for the model.
     *
     * @var string
     */
    protected $primaryKey = 'id_person';
LaravelButler

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

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

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

Anonim-khb
@Anonim-khb
Mar 09 2015 04:58 UTC
Всем привет.
Забрасывал проект на месяц, сегодня запустил как обычно, решил обновить пакеты и получил такое.
Кто-нибудь знает почему такое вылезло? Ничего не трогал и не менял нигде.
JhaoDa
@jhaoda
Mar 09 2015 05:16 UTC
@Anonim-khb открой доки к пакету greggilbert/recaptcha и почитай ридми
Наверняка dev-ветка теперь работает только с пятеркой, а для четверки отдельный бранч
Anonim-khb
@Anonim-khb
Mar 09 2015 05:18 UTC
@jhaoda, понял. Спасибо)
Andy Melentev
@Sinersis
Mar 09 2015 05:36 UTC
Всем приветы! Так вопрос на засыпку, кто чем CSV парсит?
Maxim
@Big-Shark
Mar 09 2015 05:37 UTC
explode ) А вообще в пыхе есть функции для парсинга ксв
LaravelButler

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

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

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

Andy Melentev
@Sinersis
Mar 09 2015 05:39 UTC
@Big-Shark Спасибо щас ковырнем, я просто думал мб пакетик какой нашаманили-)
Maxim
@Big-Shark
Mar 09 2015 05:39 UTC
@Sinersis у лиги есть пакет
Andy Melentev
@Sinersis
Mar 09 2015 05:40 UTC
@Big-Shark А ну я его видел, просто чет не разобрался с его использованием-( Я нуб-)
JhaoDa
@jhaoda
Mar 09 2015 05:42 UTC
Зачем пакет, если есть встроенная функция?
Andy Melentev
@Sinersis
Mar 09 2015 05:42 UTC
Логично
Maxim
@Big-Shark
Mar 09 2015 05:43 UTC
@jhaoda удобство, не?
JhaoDa
@jhaoda
Mar 09 2015 05:43 UTC
@Big-Shark я сильно сомневаюсь, что там какая-то сложная работа, для которой нужно удобство
Maxim
@Big-Shark
Mar 09 2015 05:45 UTC
Долбаные дебилы с их реестром запрешенных сайтов, у меня http://thephpleague.com/ не открывается
JhaoDa
@jhaoda
Mar 09 2015 05:46 UTC
А у меня открывется
Andy Melentev
@Sinersis
Mar 09 2015 05:52 UTC
@Big-Shark Ну да я его и видел, проблема в том не могу допереть в его использовании, я вообще только 2 пакетика пользую IDE-Helper и WayGenerator
Maxim
@Big-Shark
Mar 09 2015 05:53 UTC
@Sinersis ну тут уж я незнаю чем помоч.
Andy Melentev
@Sinersis
Mar 09 2015 06:00 UTC
@Big-Shark да ладно прорвусь-) Не в первой
LaravelButler

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

Русскоязычное сообщество 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
Mar 09 2015 07:05 UTC
Индусы отаке!
LaravelButler

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

Русскоязычное сообщество 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

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

Русскоязычное сообщество 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

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

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

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

Orel
@2byte
Mar 09 2015 09:28 UTC
Тишина...
Eugene Holiday
@eugene-holiday
Mar 09 2015 09:31 UTC
Понедельник день тяжелый :D
Orel
@2byte
Mar 09 2015 09:59 UTC
Все норм, оказалось дубликатов было очень много, в бд вышло 2,5 гб данных и 1,5 лямов строк )
JhaoDa
@jhaoda
Mar 09 2015 10:02 UTC
Но спорил не верил ты долго:)
Orel
@2byte
Mar 09 2015 10:02 UTC
Да просчеты парсера )
Ну видишь, приложений больше чем ты говорил
JhaoDa
@jhaoda
Mar 09 2015 10:20 UTC
Да с фига ли? 1,5М, как и говорил
А если ты 600К запомнил, то это в 2013 году
Orel
@2byte
Mar 09 2015 10:22 UTC
@jhaoda А ну тогда норм )
VimLoko
@VimLoko
Mar 09 2015 10:33 UTC
Всем привет) подскажите как в один роут прописать бесконечную вложенность рубрик. Скажем есть рубрика "О нас". Эта рубрика содержит рубрику "Контакты". Рубрика "Контакты" содержит рубрику "Адреса" и тд. чтоб url выглядел site.ru/about/contacts/address/ и не надо было для каждой вложенной рубрики ручками роуты прописывать)
Orel
@2byte
Mar 09 2015 10:35 UTC
@VimLoko по request_uri разбирай строку )
VimLoko
@VimLoko
Mar 09 2015 10:58 UTC
@2byte Вы имеете в виду в конфиге nginx или apache? или через $_SERVER['REQUEST_URI']?
Orel
@2byte
Mar 09 2015 10:59 UTC
@VimLoko $_SERVER
VimLoko
@VimLoko
Mar 09 2015 10:59 UTC
@2byte В файле routes.php?
Orel
@2byte
Mar 09 2015 11:01 UTC
@VimLoko В контроллере
LaravelButler

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

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

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

VimLoko
@VimLoko
Mar 09 2015 11:36 UTC
@2byte А можно пример как это реализовать в контроллере?)
Orel
@2byte
Mar 09 2015 11:39 UTC
@VimLoko Route::get('about/{string}', 'HomeController@index');
// метод контроллера
public function index($string)
{
     echo $string; // разбираем
}
VimLoko
@VimLoko
Mar 09 2015 11:45 UTC
@2byte т.е. получается в контроллере будет всего один метод, который и будет обрабатывать всю логику вложенных рубрик и в зависимости от рубрики выводить нужную информацию?
JhaoDa
@jhaoda
Mar 09 2015 11:46 UTC
@VimLoko Это мы у тебя должны спросить
Судя по твоим вопросам, ты не совсем понимаешь, что хочешь
Или мы не понимаем...
Orel
@2byte
Mar 09 2015 11:46 UTC
@VimLoko Можно и в routes.php сделать, но я бы не стал по личным причинам с вызовом контроллеров от туда
VimLoko
@VimLoko
Mar 09 2015 12:00 UTC
@jhaoda Может быть я не так выразился. Есть сайт. Сайт содержит рубрики. Рубрики могут быть вложенными и вложенность этих рубрик неограниченна. Вот я и спрашивал, как в один роут прописать правило, чтобы обрабатывался урл и определял по урл в какой рубрике находимся и следовательно выводил элементы (записи) относящиеся к рубрике, а также рубрики родителем к которым данная рубрика приходится.
@jhaoda как то так=)
JhaoDa
@jhaoda
Mar 09 2015 12:00 UTC
@VimLoko никак
Если ты сам не знаешь, какая структура в роутах, то откуда ларавель это будет знать?
Orel
@2byte
Mar 09 2015 12:04 UTC
@VimLoko Вот разбираешь строку запроса и достаешь из бд свои категории )
VimLoko
@VimLoko
Mar 09 2015 12:05 UTC
@2byte Мне Ваше решение понравилось) и думаю все должно работать) Спасибо за наводку)
Orel
@2byte
Mar 09 2015 12:07 UTC
@VimLoko для категорий можно взять пакет https://github.com/franzose/ClosureTable тогда всю структуру категорий можно достать по конченому значению name/name2/endname
VimLoko
@VimLoko
Mar 09 2015 12:10 UTC
@2byte Спасибо большое)
LaravelButler

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

Русскоязычное сообщество 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

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

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

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

Роман Сохарев
@greabock
Mar 09 2015 14:12 UTC
а Легион-то все крепнет, с каждым днем...
LaravelButler

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

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

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

Роман Сохарев
@greabock
Mar 09 2015 14:48 UTC
Все крепче и крепче
Orel
@2byte
Mar 09 2015 15:05 UTC
@greabock Да, дружина собрался
LaravelButler

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

Русскоязычное сообщество 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

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

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

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

kuzroman
@kuzroman
Mar 09 2015 16:12 UTC
Привет всем) Подскажите а можно создать одну новую таблицу через миграции, а то команда php artisan migrate - пытается обновить сразу все миграции.?
LaravelButler

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

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

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

kuzroman
@kuzroman
Mar 09 2015 16:24 UTC
Я понял таблицы создавал давно еще другой версией laravel может от сюда и ошибка, он пытается добавить таблицы которые уже существуют в sql
slider23
@slider23
Mar 09 2015 16:35 UTC
Состояние миграций находится в таблице migrations
Вертекс
@wertex
Mar 09 2015 17:03 UTC
а роуты на русском можно использовать ?
Orel
@2byte
Mar 09 2015 17:04 UTC
@wertex Тест, это быстро)
Вертекс
@wertex
Mar 09 2015 17:06 UTC
@2byte да... чет я сам не допер :)
Brezhnev Ivan
@vanchelo
Mar 09 2015 17:08 UTC
у меня не работали
Вертекс
@wertex
Mar 09 2015 17:08 UTC
работает
Brezhnev Ivan
@vanchelo
Mar 09 2015 17:09 UTC
повезло тебе
а какой сервер?
Вертекс
@wertex
Mar 09 2015 17:09 UTC
wamp... у меня будет локально
т.е. если будет что то другое то не факт что заработает ?
Brezhnev Ivan
@vanchelo
Mar 09 2015 17:11 UTC
у меня на nginx не завелось
но это было на ларе 4.1
и я сильно не напрягался)
Вертекс
@wertex
Mar 09 2015 17:12 UTC
у меня 4,2
пожалуй оставлю en, мало ли что
victor-ponamarev
@victor-ponamarev
Mar 09 2015 17:12 UTC
Всем привет)
Brezhnev Ivan
@vanchelo
Mar 09 2015 17:12 UTC
привет
Вертекс
@wertex
Mar 09 2015 17:13 UTC
Хай
LaravelButler

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

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

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

victor-ponamarev
@victor-ponamarev
Mar 09 2015 17:13 UTC
Ого, тут чат живее чем на laravel.io :)
Brezhnev Ivan
@vanchelo
Mar 09 2015 17:13 UTC
да
Orel
@2byte
Mar 09 2015 17:14 UTC
^21D665C75470E1474FBB5CCD282DFDA18F74ACDF2A7621583A^pimgpsh_thumbnail_win_distr.jpg
victor-ponamarev
@victor-ponamarev
Mar 09 2015 17:14 UTC
светло желтое
:)
Orel
@2byte
Mar 09 2015 17:14 UTC
Какого цвета?
Brezhnev Ivan
@vanchelo
Mar 09 2015 17:15 UTC
заканчивайте)
еще тут этого не хватало
victor-ponamarev
@victor-ponamarev
Mar 09 2015 17:15 UTC
:))
Ребят, нужен хелп. Не знаю как лучше поступить с одним вопросом по БД.
Brezhnev Ivan
@vanchelo
Mar 09 2015 17:15 UTC
ближе к делу
Orel
@2byte
Mar 09 2015 17:16 UTC
Это черно фиолетовый ?
victor-ponamarev
@victor-ponamarev
Mar 09 2015 17:17 UTC
Есть компания. К ней можно прикрепить заметки, встречи, задачи, и еще несколько вещей. Нужна лента активности, типа что происходило с компанией. До этого было 1-N между company/note допустим. Все ок. Сейчас же, ввожу activity сущность, чтобы вытащить все активити компании и вывести их в ленту. Какие отношения будут между activity и note/task/... ? Я сделал так: target_id, type в activity. И прописал несколько belongsTo для activity. Дальше во вью смотрю, если тип активити - note, то вывожу, например, $activity->note->text
Но не знаю, насколько это норм
Xaaalera
@Xaaalera
Mar 09 2015 17:17 UTC
всем привет, есть вопрос $gifs = Post::whereRaw(
"MATCH(rusname) AGAINST(? IN BOOLEAN MODE)",
array($q)
)->get(); как указать в этом запросе, к какой таблице обратиться ?
а то он по умолчанию обращяется к таблице с именем posts
victor-ponamarev
@victor-ponamarev
Mar 09 2015 17:18 UTC
Ну так и должно быть
тогда юзай DB::select или как там
Brezhnev Ivan
@vanchelo
Mar 09 2015 17:18 UTC
^ странный вопрос
Xaaalera
@Xaaalera
Mar 09 2015 17:18 UTC
та я лару только изучаь стал :с
Brezhnev Ivan
@vanchelo
Mar 09 2015 17:19 UTC
Post это модель, каждая модель привязана к таблице
Orel
@2byte
Mar 09 2015 17:19 UTC
@victor-ponamarev это ты так просто сказал ?
victor-ponamarev
@victor-ponamarev
Mar 09 2015 17:19 UTC
@2byte что? цвет платья?)
Orel
@2byte
Mar 09 2015 17:19 UTC
@victor-ponamarev ага
victor-ponamarev
@victor-ponamarev
Mar 09 2015 17:19 UTC
DB::table('users')->get(); вот, можно вытащить из таблицы
Xaaalera
@Xaaalera
Mar 09 2015 17:20 UTC
спасибо
victor-ponamarev
@victor-ponamarev
Mar 09 2015 17:20 UTC
@2byte я точно знаю что оно светло-фиолетово-желтое :) пипетка не обманет))
Orel
@2byte
Mar 09 2015 17:21 UTC
@victor-ponamarev что за пипетка?)
victor-ponamarev
@victor-ponamarev
Mar 09 2015 17:21 UTC
@2byte ну color picker
slider23
@slider23
Mar 09 2015 17:21 UTC
Народ, заканчивайте, две недели назад всем интернетом обсудили, какое платье.
Orel
@2byte
Mar 09 2015 17:21 UTC
@victor-ponamarev аааа, вот тоже думал фиолетовый )
victor-ponamarev
@victor-ponamarev
Mar 09 2015 17:21 UTC
Да, лучше скажите как мне БД организовать ))
Orel
@2byte
Mar 09 2015 17:21 UTC
@slider23 странно я пропустил
Brezhnev Ivan
@vanchelo
Mar 09 2015 17:21 UTC
@slider23 они непослушные
JhaoDa
@jhaoda
Mar 09 2015 17:22 UTC
@2byte why so slooow?
Orel
@2byte
Mar 09 2015 17:22 UTC
@jhaoda что?)
Ruslan Koloskov
@softua
Mar 09 2015 17:23 UTC
@victor-ponamarev я бы полиморфную связь заюзал.
slider23
@slider23
Mar 09 2015 17:23 UTC
del
del
del
victor-ponamarev
@victor-ponamarev
Mar 09 2015 17:24 UTC
@softua вот я никак догнать не могу как её здесь заюзать. вот например, помимо компаний у меня еще есть контакты. и контакт тоже имеет все эти активности. Активность здесь полимофрная связь. А вот между активностью и записью например? это вообще 1-1 получается
Ruslan Koloskov
@softua
Mar 09 2015 17:25 UTC
@victor-ponamarev контакты...компании? не понимаю.
victor-ponamarev
@victor-ponamarev
Mar 09 2015 17:26 UTC
@softua ну это забей, вот если брать просто activity, которая делится на note и task. Типа "Дядя вася оставил пометку" и "Дядя вася добавил таск".
Как здесь прописать полиморфик?
Orel
@2byte
Mar 09 2015 17:27 UTC
@jhaoda 性交行く
JhaoDa
@jhaoda
Mar 09 2015 17:27 UTC
@2byte куда послал?!
Brezhnev Ivan
@vanchelo
Mar 09 2015 17:27 UTC
@2byte завязывай курить)
slider23
@slider23
Mar 09 2015 17:28 UTC
определённо в гугль :)
victor-ponamarev
@victor-ponamarev
Mar 09 2015 17:28 UTC
@2byte Из разряда "Я вас не понял, но на всякий случай сам иди туда" :))
Orel
@2byte
Mar 09 2015 17:28 UTC
@vanchelo так я не курю, сезон закончился )
Brezhnev Ivan
@vanchelo
Mar 09 2015 17:28 UTC
Seikō iku
@2byte ты наверное тупо перевел что придумал?
Ruslan Koloskov
@softua
Mar 09 2015 17:31 UTC

@victor-ponamarev тогда:

Schema::table('companies', function(Blueprint $table) {
    $table->morphs('activity');
})

получишь activity_type (сущность, на которую ссылается компания) и activity_id (собственно id этой сущности).

victor-ponamarev
@victor-ponamarev
Mar 09 2015 17:31 UTC
Про компании/активности я понял. (Правда, не знал что в миграции можно тоже прописать)
Одна компания имеет N активити. Здесь все ок
А как связать активити и её подтипы?
    public function note()
    {
        return $this->belongsTo('CRM\EloquentModels\Note', 'target_id', 'id');
    }
Я сделал как-то так
Ruslan Koloskov
@softua
Mar 09 2015 17:35 UTC
@victor-ponamarev подожди, note и task - это ведь и есть активити? Смысл же в том, что ты не привязываешь компанию к конкретной сущности, а к любой из них.
Или я не так понял?
victor-ponamarev
@victor-ponamarev
Mar 09 2015 17:37 UTC
Ну суть такая, что, одна компания имеет несколько тасков, записок и т.п., и их нужно отобразить все вместе в порядке добавления. Ну, типа activity feed. У меня на бумажке нарисовано щас 4 сущности, Company, Activity, Note, Task. Между Company и Activity у меня можно сказать 1-N (на самом деле полиморфик, т.к. есть еще сущности к котрым можно привязывать Activity). А вот между Activity и Note/Task я не знаю что.
В самом начале было Company (1) - Note (N), т.е. одна компания имела несколько пометок. Но сейчас я решил объединить все эти записки, таски и другие вещи, типа как класс-родитель) и назвал activity
Xaaalera
@Xaaalera
Mar 09 2015 17:38 UTC
ололо у меня получилась половина того что я хочу
осталось придумать как в адресной строке отображать данные с пост запроса
Ruslan Koloskov
@softua
Mar 09 2015 17:39 UTC
@victor-ponamarev может быть Activity - лишняя тут?
victor-ponamarev
@victor-ponamarev
Mar 09 2015 17:40 UTC
@softua А как мне вывести все разнородные сущности в одну ленту? Очень не хочется из них всех делать массив, мержить все, сортировать вручную по created_at и т.п.?
Ruslan Koloskov
@softua
Mar 09 2015 17:40 UTC
Есть компания, у которой таски, пометки,...это по сути и есть активити.
victor-ponamarev
@victor-ponamarev
Mar 09 2015 17:42 UTC
Т.е. например щас это выглядит во вьюшке примерно так:
Ruslan Koloskov
@softua
Mar 09 2015 17:42 UTC
@victor-ponamarev ну я вижу только такой вариант, может кто подскажет лучше. А что значит сортировать вручную?
victor-ponamarev
@victor-ponamarev
Mar 09 2015 17:42 UTC
Ну то есть вот как я буду тогда в контроллере делать:
Brezhnev Ivan
@vanchelo
Mar 09 2015 17:43 UTC
вручную)))
@softua ты в пятнашки играл?
пятнашки это ручной сортировщик)
Ruslan Koloskov
@softua
Mar 09 2015 17:43 UTC
@vanchelo не смешно.
victor-ponamarev
@victor-ponamarev
Mar 09 2015 17:43 UTC
$tasks = $company->tasks;
$notes = $company->notes;
$appointments = $company->appointments;
$everything = array_merge...
// Дальше нужно все данные отсортировать по created_at
// Дальше нужно добавить $type чтобы свитчить по нему во вьюшке чтобы отображать разнородные данные
ну я так, псевдокод
вместо того чтобы написать что то типа
Brezhnev Ivan
@vanchelo
Mar 09 2015 17:44 UTC
@softua =( что ты такой сердитый?
Ruslan Koloskov
@softua
Mar 09 2015 17:44 UTC
@vanchelo потому что хочу вопрос задать. :))))
Brezhnev Ivan
@vanchelo
Mar 09 2015 17:44 UTC
интересный у тебя подход)
Ruslan Koloskov
@softua
Mar 09 2015 17:45 UTC
@victor-ponamarev нет.
victor-ponamarev
@victor-ponamarev
Mar 09 2015 17:45 UTC
$activities = $company->activities; // Уже отсортированы по created_at
И во вьюшке:
@foreach ($company->activities as $activity)
@if ($activity->type == 'call') ..
Ruslan Koloskov
@softua
Mar 09 2015 17:47 UTC
сек.
Ruslan Koloskov
@softua
Mar 09 2015 17:53 UTC
@victor-ponamarev так, судя по всему я неверно говорю. Полиморфкой связывай Активити со всеми этими штуками (таски, записи,...). А компанию с Активити обычной N+1. Потом выбираешь $company->activities, который уже будет иметь всё.
Как-то так вроде.
victor-ponamarev
@victor-ponamarev
Mar 09 2015 17:54 UTC
Так. Ну компанию с активити я сделал полиморфной, но только потому что активити еще приписываются к другим сущностям. не суть, тут все ясно
не понятно как прописать полиморфную между активити и таском например
че то я не совсем понимаю полиморф видимо
Ruslan Koloskov
@softua
Mar 09 2015 17:55 UTC
@victor-ponamarev
Schema::table('activities', function(Blueprint $table) {
    $table->morphs('activity');
})
В таблице activities в БД получаешь 2 поля:
activity_type
activity_id
activity_type будет например task, а activity_id - id этого таска.
victor-ponamarev
@victor-ponamarev
Mar 09 2015 17:58 UTC
ну type он запишет полное имя класса, да
Ruslan Koloskov
@softua
Mar 09 2015 17:58 UTC
ну
victor-ponamarev
@victor-ponamarev
Mar 09 2015 17:58 UTC
щас, сформулирую)
Ruslan Koloskov
@softua
Mar 09 2015 17:59 UTC
:point_up: March 9 2015 7:58 PM
скорее таблицы.
тут не уверен.
victor-ponamarev
@victor-ponamarev
Mar 09 2015 17:59 UTC
он пишет полное имя класса
CRM\EloquentModels\Company
например
у меня не вяжется как в моделях это прописать. ну вот например беру пример с документации
class Photo extends Model {

    public function imageable()
    {
        return $this->morphTo();
    }

}
Окей, значит, тоже самое пишу в активити
public function activitable()
{
    return $this->morphTo();
}
Роман Сохарев
@greabock
Mar 09 2015 18:02 UTC
я задам скромный вопрос: статью мою читал? Там все вполне внятно про полиморфию описано.
victor-ponamarev
@victor-ponamarev
Mar 09 2015 18:05 UTC

потом аналогично документации. например для note

public function activities()
    {
        return $this->morphMany('CRM\Eloquent\Activity', 'activitable');
    }

Ну хорошо, во вьюшке делаю foreach, получаю $activity. Дальше как мне получить данные о заметки? $activity->note..?

@greabock не, не читал) мне кажется что здесь какой-то кривой полиморфик, в другом месте я его нормально реализовывал, например теги, файлы, фотки. Одна фотка принадлежит куче разных сущностей. Одна заметка...принадлежит..одной активити. Одна активити принадлежит только одной заметке.
Ruslan Koloskov
@softua
Mar 09 2015 18:11 UTC

@victor-ponamarev

$activity->activitable();

это вернет либо таск, либа запись либо что-то еще.

но для начала ты получаешь список всех активити компании.

ну и это вызываешь на каждой.
victor-ponamarev
@victor-ponamarev
Mar 09 2015 18:12 UTC
о..
т.е., можно написать
$activity->activitable()->text;
если мы знаем что это активити - записка и у неё есть поле text
Роман Сохарев
@greabock
Mar 09 2015 18:13 UTC
$activiy = Activity::all();
$notes = Activity::activitable()->whereActivableType('App\Model\Note')->get();
Ruslan Koloskov
@softua
Mar 09 2015 18:13 UTC
@victor-ponamarev если у тебя text есть в каждой сущности.
Не, ему так не нужно.
victor-ponamarev
@victor-ponamarev
Mar 09 2015 18:13 UTC
почти созрел
Ruslan Koloskov
@softua
Mar 09 2015 18:14 UTC
@greabock он хочет получить общий список вссех активити.
victor-ponamarev
@victor-ponamarev
Mar 09 2015 18:15 UTC
$activites = $company->activities;
return View::make(...)->withActivites($activities);
Во вьюшке:
@foreach ($activites as $activity)
   @if ($activity->isNote()) {{ $activity->activitable()->text }} @endif
   @if ($activity->isTask()) {{ $activity->activitable()->taskName }} @endif
@endforeach
где isNote, isTask это методы которые будут проверять activitable_type
Роман Сохарев
@greabock
Mar 09 2015 18:15 UTC
пляяя...
ну что ты гонишь то )))
victor-ponamarev
@victor-ponamarev
Mar 09 2015 18:15 UTC
че?)
Роман Сохарев
@greabock
Mar 09 2015 18:17 UTC
activitable() вернет связь а не объект
а это лишний запрос в бд
более того
даже если ты напишешь
$activity->activitable->text
это все равно будет не то
ибо это ленивая загрузка
а она как известно - зло
и не дай боже тебе на странице такое в луп завернуть
получишь стопятсот запросов в базу прямо из вьюхи
Ruslan Koloskov
@softua
Mar 09 2015 18:20 UTC
@greabock ...?
Роман Сохарев
@greabock
Mar 09 2015 18:20 UTC
$activities = Activity::with('activitable')->get();
и только тода можно юзать
@foreach ($activites as $activity)
   @if ($activity->isNote()) {{ $activity->activitable->text }} @endif
   @if ($activity->isTask()) {{ $activity->activitable->taskName }} @endif
@endforeach
Ruslan Koloskov
@softua
Mar 09 2015 18:21 UTC
ага.
victor-ponamarev
@victor-ponamarev
Mar 09 2015 18:21 UTC
ну как раз хотел про жадную загрузку написать. я просто не знал что вообще activitable может вернуть нужный мне объект
Роман Сохарев
@greabock
Mar 09 2015 18:21 UTC
может
но он будет загружен лениво
victor-ponamarev
@victor-ponamarev
Mar 09 2015 18:22 UTC
если без with
Роман Сохарев
@greabock
Mar 09 2015 18:22 UTC
да
victor-ponamarev
@victor-ponamarev
Mar 09 2015 18:24 UTC
Ура. Щас буду пробовать
Ruslan Koloskov
@softua
Mar 09 2015 18:24 UTC
ну и еще мне кажется isNote и isTask - не лучший вариант. Наверное имплементить интерфейс с методом.... info() будет лучше.
Роман Сохарев
@greabock
Mar 09 2015 18:24 UTC
это вообще не так делается
victor-ponamarev
@victor-ponamarev
Mar 09 2015 18:24 UTC
рано обрадовался)
Dinar Garipov
@garf
Mar 09 2015 18:25 UTC
А что будет быстрее работать? Запрос с джойном, или с with()?
Роман Сохарев
@greabock
Mar 09 2015 18:25 UTC
делается метод _toString() и у же в нем решается как "дисплеить" объект
тогда код сократится до
@foreach ($activites as $activity)
{{ $activity->activitable}}
@endforeach
victor-ponamarev
@victor-ponamarev
Mar 09 2015 18:27 UTC
щас наверно тупой вопрос задам
но все же, а как туда верстку впихивать? Объекты разные, и там могут быть несколько полей и все такое
Роман Сохарев
@greabock
Mar 09 2015 18:27 UTC
@gaaarfild джоин это один запрос, with плюс один запрос на каждый тип сущности
This message was deleted
@victor-ponamarev instanceof
Dinar Garipov
@garf
Mar 09 2015 18:28 UTC
Но говорят, что Джойны - это медленные запросы ведь.
Роман Сохарев
@greabock
Mar 09 2015 18:28 UTC
@victor-ponamarev да и куча других способов есть
victor-ponamarev
@victor-ponamarev
Mar 09 2015 18:29 UTC
ну просто isTask() чуть красивее чем instance of ......\Note
Роман Сохарев
@greabock
Mar 09 2015 18:29 UTC
@gaaarfild они медленные, когда их много и они странные (читать сложные)
Dinar Garipov
@garf
Mar 09 2015 18:29 UTC
Понял. Спасибо. То есть как способ оптимизации сойдет, да?
Роман Сохарев
@greabock
Mar 09 2015 18:30 UTC
@gaaarfild это не то на чем бы я стал экономить
Dinar Garipov
@garf
Mar 09 2015 18:30 UTC
Тоже понял. :)
Роман Сохарев
@greabock
Mar 09 2015 18:30 UTC
скажем так: есть куда более проблемные места
Dinar Garipov
@garf
Mar 09 2015 18:30 UTC
Вот бы их знать. :)
Ну иди услышать еще разок. :)
Или*
Роман Сохарев
@greabock
Mar 09 2015 18:31 UTC
хотябы приколы с ленивой загрузкой. Все новички на это напарываются.
Dinar Garipov
@garf
Mar 09 2015 18:31 UTC
Ну если без новичков. :)
victor-ponamarev
@victor-ponamarev
Mar 09 2015 18:32 UTC
(Да в курсе я про загрузку, вкурсе!)
:P
Роман Сохарев
@greabock
Mar 09 2015 18:35 UTC
я попробую пояснить: у меня на странице со списком товаров 22 запроса в бд. Страница отдается 380мс. Из них только 56 уходит на общение с базой. На этом фоне, еще пара запросов в базу смотрится не так критично.
Есть куча других мест для оптимизации
Dinar Garipov
@garf
Mar 09 2015 18:37 UTC
Ок. :)
Ruslan Koloskov
@softua
Mar 09 2015 18:45 UTC
теперь мой вопрос:
victor-ponamarev
@victor-ponamarev
Mar 09 2015 18:45 UTC
Хм, а если активити еще и принадлежит либо компании либо сотруднику компании, т.е. тоже полимофрна по отношению к ним, получится еще 2 поля типа activitable_id, activitable_type?
ой)
прервал))
Ruslan Koloskov
@softua
Mar 09 2015 18:45 UTC
не страшно. :)
@victor-ponamarev получается да. Но что-то не так...мне кажется нужно пересматривать структуру...
Получается без сущности Activity никак...?
victor-ponamarev
@victor-ponamarev
Mar 09 2015 18:49 UTC
Ну только если вручную собирать подсущности компании и компоновать их во вью. Но поидее логично, Активоностьс одной стороны принадлежит компании с другой стороны является чем-то вроде таска\записки...
Ruslan Koloskov
@softua
Mar 09 2015 18:50 UTC
@victor-ponamarev Итак, есть таски, записи, еще куча чего, которые пренадлежат...либо компании, либо сотруднику.
так?
victor-ponamarev
@victor-ponamarev
Mar 09 2015 18:51 UTC
да
Роман Сохарев
@greabock
Mar 09 2015 18:51 UTC
допустим
Ruslan Koloskov
@softua
Mar 09 2015 18:53 UTC

либо компании, либо сотруднику.

Будет что-то еще?

victor-ponamarev
@victor-ponamarev
Mar 09 2015 18:53 UTC
да
Deals, сделки
Orel
@2byte
Mar 09 2015 18:53 UTC
sli.su
Роман Сохарев
@greabock
Mar 09 2015 18:55 UTC
@2byte 480p видео порадовало глаз
emissar
@emissar
Mar 09 2015 18:56 UTC
добрый вечер. Подскажите, как правильнее всего public в L5 убрать? Без редактирования вирт. хоста, естественно
Роман Сохарев
@greabock
Mar 09 2015 18:57 UTC
удалить L5 и поставить джумлу
ну или вордпресс
это на вкус
@emissar а если серьезно, то поставь задачу вернее
Brezhnev Ivan
@vanchelo
Mar 09 2015 19:00 UTC
@2byte что за срань?
Роман Сохарев
@greabock
Mar 09 2015 19:00 UTC
@emissar зачем тебе нужно это сделать?
Ruslan Koloskov
@softua
Mar 09 2015 19:01 UTC
@victor-ponamarev я думаю, что активити все-таки нужно, но а полиморфку активити к компании и сотруднику не надо. Тут лучше обычный hasMany.
Orel
@2byte
Mar 09 2015 19:01 UTC
@vanchelo Как бы система мультиязычности
Brezhnev Ivan
@vanchelo
Mar 09 2015 19:02 UTC
пхп 5.2
victor-ponamarev
@victor-ponamarev
Mar 09 2015 19:02 UTC
@softua тогда в активити будет foreign key для компании? И еще для сотрудника, и для deals?
Vladislav Maksimchuk
@condoriano
Mar 09 2015 19:02 UTC

@victor-ponamarev

но все же, а как туда верстку впихивать? Объекты разные, и там могут быть несколько полей и все такое

как раз сейчас делаю подобную задачу, сижу думаю куда бы завернуть правильно рендеринг вьюх )

без namespace'ов как сейчас можно жить?
Ruslan Koloskov
@softua
Mar 09 2015 19:03 UTC
@victor-ponamarev активити -> таски и т.д. это понятно (тебе нужно все в одном выводить). А вот активити сотрудника, коспании,... зачем?
:point_up: March 9 2015 9:02 PM
да.
Orel
@2byte
Mar 09 2015 19:04 UTC
@vanchelo это для джумла подобных
Brezhnev Ivan
@vanchelo
Mar 09 2015 19:04 UTC
@2byte ну а нам оно тогда зачем?
victor-ponamarev
@victor-ponamarev
Mar 09 2015 19:04 UTC
@softua не понял. Ну, компания содержит в себе все эти такски итп, вот и оборачиваем чтобы удобнее было
Vladislav Maksimchuk
@condoriano
Mar 09 2015 19:05 UTC
кстати народ, как думаете, заворачивать рендеринг вьюхи в отдельный класс-сервис, это нормальная практика?
Brezhnev Ivan
@vanchelo
Mar 09 2015 19:05 UTC
покажи пример
Роман Сохарев
@greabock
Mar 09 2015 19:05 UTC
@condoriano что за рендеринг вьюхи? Поясни будь добр.
Vladislav Maksimchuk
@condoriano
Mar 09 2015 19:05 UTC
угу, пишу
Brezhnev Ivan
@vanchelo
Mar 09 2015 19:06 UTC
view()->render() =)
victor-ponamarev
@victor-ponamarev
Mar 09 2015 19:06 UTC
в классе прям echo "<h1">...
:)
Роман Сохарев
@greabock
Mar 09 2015 19:06 UTC
@vanchelo :+1:
Vladislav Maksimchuk
@condoriano
Mar 09 2015 19:06 UTC
есть модель Page, от нее наследуются TextPage, DocumentsPage, каждая можель должна конечному пользоветлю отображаться по-разному, например TextPage это просто статья, текст, но DocumentsPage это рендеринг списка документов
Ruslan Koloskov
@softua
Mar 09 2015 19:06 UTC
@victor-ponamarev я имею ввиду, что тебе же не надо в одно фиде выводить активити всех (сотрудника, коммпании,...)?
Роман Сохарев
@greabock
Mar 09 2015 19:07 UTC
@condoriano для этого есть презентеры
Vladislav Maksimchuk
@condoriano
Mar 09 2015 19:07 UTC
вот и думаю, если сделать например какой-то Presenter, с методом render, для каждого класса TextPage и DocumentsPage и может других на будущее, реализовывать по-своему этот render
victor-ponamarev
@victor-ponamarev
Mar 09 2015 19:08 UTC
@softua нет. Но мне нужно знать кому принадлежит активтити. И у неё либо companyid, employee_id, deal_id, либо это все полиморфикайди будет
Vladislav Maksimchuk
@condoriano
Mar 09 2015 19:08 UTC
обычно я презентер использовал тоьлко для форматирования типов, мелких вещей каких-то, но не всей страницы прям аж что бы view::render, вот и задумалса делается ли так вообще, есть ли подводные камни, и вообще как бы его праивльно
Ruslan Koloskov
@softua
Mar 09 2015 19:09 UTC
@victor-ponamarev у активити будет nullable company_id, employee_id,...
victor-ponamarev
@victor-ponamarev
Mar 09 2015 19:09 UTC
@softua ну да, понятно. но просто это же хуже, чем иметь полиморфик?
Роман Сохарев
@greabock
Mar 09 2015 19:10 UTC
@condoriano я не так давно поднимал тему: должна ли модель знать как она выглядит? Сошлись на том, что нужен отдельный класс с методами отображения данной модели во всех типичных ситуациях.
Ruslan Koloskov
@softua
Mar 09 2015 19:10 UTC
@victor-ponamarev не думаю. Как по мне, так если стоит вопрос в полиморфке, значит что-то не так. :)
потому что...как это называется...правильные формы, кажется.
Роман Сохарев
@greabock
Mar 09 2015 19:10 UTC
@condoriano ну и внедрять его конечно же нужно через DI
Vladislav Maksimchuk
@condoriano
Mar 09 2015 19:10 UTC
@greabock согласен, таки попробую через презентер щас его замутить
victor-ponamarev
@victor-ponamarev
Mar 09 2015 19:11 UTC
ага, щас НФБК буду вспоминать @softua
:)
Ruslan Koloskov
@softua
Mar 09 2015 19:11 UTC
:)
Vladislav Maksimchuk
@condoriano
Mar 09 2015 19:11 UTC
@greabock кстати раз уже «должна ли модель знать как она выглядит», на днях поднимал вопрос - что делать, если из модели нужо получить доступ к кукам
victor-ponamarev
@victor-ponamarev
Mar 09 2015 19:12 UTC
это в институте сидишь фигачишь 5ые нормальные формы там, рисуешь архитектуру три раза)) а здесь возвращаешься к старому доброму "ладно, и так пойдет" :)
Роман Сохарев
@greabock
Mar 09 2015 19:12 UTC
не совсем понимаю, зачем модели знать о куках =)
Vladislav Maksimchuk
@condoriano
Mar 09 2015 19:12 UTC
@greabock
class Product extends Model {

    public function getPriceAttribute()
    {
        if ($_COOKIE['currency'] == 'usd')
            return $this->price_usd;

        return $this->price_eur;
    }

}
нужно получить текущую валюту
и кого не спрошу, все говорят - тышо куку в модели!! сессии используй!!
ну… эм.. имхо и кука и сессия в модели это пошло
victor-ponamarev
@victor-ponamarev
Mar 09 2015 19:13 UTC
@softua ну если серьезно то меня пугает что я должен будут еще в течение разработки добавлять внешние nullable ключи...
Vladislav Maksimchuk
@condoriano
Mar 09 2015 19:13 UTC
но как же его достать-то валюту-то
Роман Сохарев
@greabock
Mar 09 2015 19:13 UTC
@condoriano пусть то презентер решает
Vladislav Maksimchuk
@condoriano
Mar 09 2015 19:13 UTC
нене, в БД есть два поля price_eur и price_usd
Роман Сохарев
@greabock
Mar 09 2015 19:13 UTC
@greabock ну и для работы с куками в ларе свой класс имеется
я сам себе написал )))
Vladislav Maksimchuk
@condoriano
Mar 09 2015 19:14 UTC
сам себя убедить пытаесся ? )
@greabock а $product->price должен вернуть нужную валюту, вот зачем там нужно получить текущую валюту
Роман Сохарев
@greabock
Mar 09 2015 19:14 UTC
используй конфиг
Vladislav Maksimchuk
@condoriano
Mar 09 2015 19:14 UTC
а $_COOKIE['currency’] используется потому что лара шифрует куки, а валюта меняется установкой нужной куки через jquery
Роман Сохарев
@greabock
Mar 09 2015 19:15 UTC
хотя... блин
конфиги же сейчас кешируются
Vladislav Maksimchuk
@condoriano
Mar 09 2015 19:15 UTC
то есть чел кликнул по кнопке $ и установилась кука currency=usd, мне надо это знать в модели, что бы вернуть price_usd, а не price_eur
Ruslan Koloskov
@softua
Mar 09 2015 19:15 UTC
@victor-ponamarev ну да, только потом смотришь на то, что намутил и охреневаешь. :)
victor-ponamarev
@victor-ponamarev
Mar 09 2015 19:17 UTC
@softua Я вот не знаю, от чего больше будут охреневать, activitable_id, activitable_type, parent_id, parent_type, или activitable_id, activitable_type, company_id, employee_id, deal_id :)
Роман Сохарев
@greabock
Mar 09 2015 19:17 UTC
This message was deleted
@condoriano я не совсем понимаю, зачем у тебя общая переменная для разных прайсов
Ruslan Koloskov
@softua
Mar 09 2015 19:18 UTC
@greabock что думаешь?
victor-ponamarev
@victor-ponamarev
Mar 09 2015 19:18 UTC
Он щас противгаз наденет от моего кода)) Чуете, запахло ?))
Роман Сохарев
@greabock
Mar 09 2015 19:19 UTC
я просто вас не читал, сейчас перечитываю
@victor-ponamarev @softua вы какой-то херней, простите занимаетесь ))
Vladislav Maksimchuk
@condoriano
Mar 09 2015 19:20 UTC
@greabock общая переменная для разных прайсов? ну, ведь удобно во вьюхах писать $product->price * $quantity или типа того
Роман Сохарев
@greabock
Mar 09 2015 19:20 UTC
все проблемы из пальца высосаны )
Ruslan Koloskov
@softua
Mar 09 2015 19:20 UTC
:)
victor-ponamarev
@victor-ponamarev
Mar 09 2015 19:20 UTC
ну вот
Vladislav Maksimchuk
@condoriano
Mar 09 2015 19:21 UTC
@greabock хотя да, бредок, презентер лдя этого нужен, точно ведь.. а то $product->price = 10 непонятно шо сделает..
Роман Сохарев
@greabock
Mar 09 2015 19:24 UTC
@condoriano сделай метод в духе getPriceInCurrency($currencyName);
который будет возвращать прайс из одной из переменных в зависимости от того, что там лежало в куке.
Vladislav Maksimchuk
@condoriano
Mar 09 2015 19:25 UTC
@greabock тогда прийдется везде писать <span>{{ $product->getPriceInCurrency($currency) }} … а это уже как-то нагроможденно, то есть выходит что либо эстетикой жертвовать, либо..
Роман Сохарев
@greabock
Mar 09 2015 19:26 UTC
ты сейчас это серьезно?
Ruslan Koloskov
@softua
Mar 09 2015 19:26 UTC
@greabock так что делать? все неверно?
Роман Сохарев
@greabock
Mar 09 2015 19:26 UTC
@softua @victor-ponamarev @condoriano короче я хз мужики, мне валить надо )
Vladislav Maksimchuk
@condoriano
Mar 09 2015 19:27 UTC
спасибо :)
Ruslan Koloskov
@softua
Mar 09 2015 19:27 UTC
:smile:
victor-ponamarev
@victor-ponamarev
Mar 09 2015 19:27 UTC
)))
Он начал задыхаться от всего этого code smell как говорят иностранцы)))
@greabock спасибо за помощь)
@softua Кароче, не знаю, делаю все по науке же. Ну да, два полиморфика. Хотя конечно жесть :)
Ruslan Koloskov
@softua
Mar 09 2015 19:32 UTC

так, теперь мой вопрос:

Есть шаблон. В него инклюдится кусок блейда, который в свою очередь содержит @section('parent') some html @show. Можно ли каким-то образом в этом шаблоне написать:

@include('html_with_section')

@section('parent')
    @parent
    more html
@stop

вобщем как с наследованием, но с инклюдом. :)

?
Ruslan Koloskov
@softua
Mar 09 2015 19:38 UTC
@vanchelo выручай.
Denis Isaychenko
@Rhincodon
Mar 09 2015 19:38 UTC
LaravelButler

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

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

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

Ruslan Koloskov
@softua
Mar 09 2015 19:42 UTC
@Rhincodon прощай хоумстед?
victor-ponamarev
@victor-ponamarev
Mar 09 2015 19:42 UTC
@softua хочу помочь но не знаю как :) не очень понял, у меня обычно куча лейаутов и внутри yeild-ы, и они вложены сто раз друг в друга и вот типа наследование))
Denis Isaychenko
@Rhincodon
Mar 09 2015 19:44 UTC
@softua эм, причём здесь homestead :) Просто штука для автодеплоя. Хотя на самом деле не пойму зачем они её сделали, есть куча аналогов.
slider23
@slider23
Mar 09 2015 19:44 UTC
10 баксов не лишние
forge деньги приносят, Тейлор решил увеличить income
Учитывая лояльность аудитории
Alexey
@Butochnikov
Mar 09 2015 19:46 UTC
"A Laravel Product" - это звучит гордо. )
Denis Isaychenko
@Rhincodon
Mar 09 2015 19:46 UTC
ну не знаю, этот функционал весь можно было в forge засунуть
slider23
@slider23
Mar 09 2015 19:47 UTC
Я так понимаю, что envoyer - это расширение фичи, которая уже есть в forge
"Seamless Deployment Rollbacks" - тут применёна методика с симлинками, видимо, как в deploy.io
Вообще, с точки зрения монетизации - грамотно.
Alexey
@Butochnikov
Mar 09 2015 19:47 UTC
точно, пора находить толкового админа и делать свой хостинг. по нормальной цене и со всеми плюшками
Ruslan Koloskov
@softua
Mar 09 2015 19:48 UTC

@victor-ponamarev

вложены сто раз друг в друга

это да, а у меня тут страница авторизации, в которую нужно вставить кусок хтмла и чуток дополнить своим, при этом вложенность не нужна.

Alexey
@Butochnikov
Mar 09 2015 19:48 UTC
а эти "недосервисы" русскому человеку сложно понять, имхо
slider23
@slider23
Mar 09 2015 19:49 UTC
@Butochnikov ммм.. так ты хочешь сделать аналог форжа, и вот этого вот, в связке с хостером ?
Alexey
@Butochnikov
Mar 09 2015 19:49 UTC
да мы с тобой вроде уже обсуждали
slider23
@slider23
Mar 09 2015 19:50 UTC
да, но до меня тогда как-то не дошло, что прям аналог форжа :)
emissar
@emissar
Mar 09 2015 19:51 UTC
а кто-нибудь пробовал почту mail.ru для отправки через smtp использовать? Ошибку выдает -
Connection to tcp://smtp.mail.ru:465 Timed Out
Alexey
@Butochnikov
Mar 09 2015 19:51 UTC
ну не совсем аналог, все же все не все из форджа надо
Ruslan Koloskov
@softua
Mar 09 2015 19:54 UTC
:point_up: March 9 2015 9:44 PM
вот, что я имею с хоумстеда: http://joxi.ru/J2bJoO1fvdx726
Получается, что автодеплой может мне заменить вагрант. На сколько я понимаю, этот деплоеер реагирует на хук гита (при коммитах) и запускает скрипт деплоя. Правильно? То есть, я могу писать в винде и юзать свой удаленный сервер.
Кстати, если не затруднит, киньте такими же дешевыми аналогами.
Alexey
@Butochnikov
Mar 09 2015 20:01 UTC
аналоги? самостоятельно настраиваешь да и все.
slider23
@slider23
Mar 09 2015 20:07 UTC
хм, т.е. ты пишешь, коммитишь, проверяешь на сайте, правишь, коммитишь, проверяешь, материшься, правишь, проверяешь, вспоминаешь, что забыл закоммитить, материшься, коммитишь, проверяешь ? Это путь к нервному тику имхо :)
учитывая, что пуш изменений происходит не сразу
Denis Isaychenko
@Rhincodon
Mar 09 2015 20:08 UTC
норм чё :)
нормально homestead работает что вы на него гоните то :)
slider23
@slider23
Mar 09 2015 20:10 UTC
Аналоги - задаешь на гитхабе в настройках репозитория урл, за который надо дёрнуть, когда придет коммит. По этому урлу помещаешь php-файлик с разбором secret-кода от гитхаба (чтобы убедиться, что это не шутник какой-то тебя дергает) и вызов чего-то типа exec("git reset HEAD --hard && git pull origin master"). Бесплатно.
Denis Isaychenko
@Rhincodon
Mar 09 2015 20:10 UTC
https://laracasts.com/forum/?p=1757-slow-responses-on-homestead/0 вот тут в треде как ускорить homestead
https://github.com/markomarkovic/simple-php-git-deploy вот кстати давно как то использовал для деплоя ещё до forge и dploy.io
slider23
@slider23
Mar 09 2015 20:13 UTC
@Rhincodon так ты как в итоге работаешь с хомстедом, без шаред-папок, по sftp синкаешь файлы внешней тулзой ?
Denis Isaychenko
@Rhincodon
Mar 09 2015 20:17 UTC
@slider23 не совсем понял вопрос, стоит homestead, в нём shared folders обычные но с включённой NFS, там ещё чё то прописывал в настройках не помню уже. https://coderwall.com/p/2nak4q/use-nfs-to-speed-up-your-homestead-vm это вроде включал.
То есть до включения этой опции у меня тоже секунды по 3 грузились страницы, сейчас до 200 мс
slider23
@slider23
Mar 09 2015 20:19 UTC
Ну единственная причина тормозов вагранта - низкая скорость доступа в пределах shared folders. Когда я пробовал юзать вагрант, это не лечилось ничем кроме rsync, который односторонний.
У тебя винда ?
Ruslan Koloskov
@softua
Mar 09 2015 20:20 UTC
тогда другой вопрос: Как синхронизировать винда -> vps?
rsync разве виндовый есть?
slider23
@slider23
Mar 09 2015 20:20 UTC
На винде просто nfs у меня не работал и вроде он вообще не работает на винде у вагранта
Есть
LaravelButler

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

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

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

slider23
@slider23
Mar 09 2015 20:22 UTC
Синхронизировать винда-vps - это как раз вот такой деплой через гит, например.
Просто делается это когда закончена фича какая-то. На локальной машине разрабатывается, отлаживается, потом коммитится-пушится на сервер и там хуком все разворачивается.
Denis Isaychenko
@Rhincodon
Mar 09 2015 20:22 UTC
os x у меня, вроде есть же winNFS
slider23
@slider23
Mar 09 2015 20:25 UTC
Кажется, у меня были какие-то трудности с ним
А потом я представил, что случайно грохаю образ со всем кодом и, главное, базами данных, и решил от греха забить на сие. :)
Ruslan Koloskov
@softua
Mar 09 2015 20:26 UTC
@slider23 через гит...это да, после пуша. А если не через гит и не вагрант, то как?
ведь синхронизация должна моментально делаться? Тогда не нужно заканчивать логический блок.
От винды уйти не могу.
Мак купить тоже не могу.
А работать нормально хочется. :)
slider23
@slider23
Mar 09 2015 20:27 UTC
ну можно юзать что-то типа http://dklab.ru/lib/dklab_realsync/
Так поставь на винду софт и работай нормально :)
опенсервер/winginx , git , который поставит msysgit и все линуховые утилиты, conemu/cmder в качестве консоли
На винде замечательно работается, не хуже чем на маке, у меня есть и то и то.
xshell4 в качестве шелла к удалённым сервакам. для мака такого просто нет, кстати.
Denis Isaychenko
@Rhincodon
Mar 09 2015 20:34 UTC
на маке есть нормальная консоль и можно просто написать ssh forge@someserver.com и всё :)
Alexey
@Butochnikov
Mar 09 2015 20:35 UTC
даже и ssh писать не надо... на профиль нажал и ты там )
Ruslan Koloskov
@softua
Mar 09 2015 20:36 UTC
не, весь этот зоопарк не хочу уже. Потом переставляешь винду и все настраивай занова! С опенсервером у меня были какие-то хитромудрости...не помню уже. Плюс думаю, что нужно работать в среде, приближенной к боевой. Поэтому что-то типа realsync этого нужно попробовать.
@slider23 спасибо.
slider23
@slider23
Mar 09 2015 20:37 UTC
а как в нормальной маковской консоли можно написать в табе название сервера, к которому ты подключился ?
Ruslan Koloskov
@softua
Mar 09 2015 20:37 UTC
он кстати двухсторонний?
slider23
@slider23
Mar 09 2015 20:38 UTC
Ну не знаю, я как винду поставил в 2010, так больше и не переустанавливал.
Нет, он односторонний
Ruslan Koloskov
@softua
Mar 09 2015 20:38 UTC
как расшаренные папки вагранта не работает?
Alexey
@Butochnikov
Mar 09 2015 20:38 UTC
в нормальной не знаю, а ты iterm2 не юзаешь?
slider23
@slider23
Mar 09 2015 20:38 UTC
я про него и спрашиваю
Denis Isaychenko
@Rhincodon
Mar 09 2015 20:38 UTC
в iterm пишет в табе название
slider23
@slider23
Mar 09 2015 20:39 UTC
хм, у меня там писало что и во всех остальных - bash
По мнению консоли, это самое важное, что мне нужно видеть в табах - 10 штук bash
А, нет, поклёп навожу, пишет
Alexey
@Butochnikov
Mar 09 2015 20:41 UTC
:smile:
slider23
@slider23
Mar 09 2015 20:42 UTC
но все же необходимость писать в 21м веке "ssh user@server" , а не тыкать мышкой в избранное - это отдельное
пусть даже с алиасами
все равно - пиши. пальцы есть, не отвалятся. :)
Denis Isaychenko
@Rhincodon
Mar 09 2015 20:42 UTC
это как чё то типа этого https://github.com/qw3rtman/gg вообще люди обленились :)
slider23
@slider23
Mar 09 2015 20:45 UTC
Каждый раз это опускает меня на землю. mc в качестве единственного нормального файлового менеджера и необходимость коннекта при помощи ssh. Теплый ламповый линукс на Маке.
Ruslan Koloskov
@softua
Mar 09 2015 21:05 UTC
slider23
@slider23
Mar 09 2015 21:05 UTC
Блин, вот и кончилась эпоха. Фейсбук говорит, что гасит friendfeed.com .
Ruslan Koloskov
@softua
Mar 09 2015 21:06 UTC
тут двухсторонний синк.
slider23
@slider23
Mar 09 2015 21:06 UTC
Про двусторонний unison в курсе
Ruslan Koloskov
@softua
Mar 09 2015 21:06 UTC
и как?
slider23
@slider23
Mar 09 2015 21:06 UTC
но на больших объёмах данных он долго синкает
впрочем, и рсинк тоже это небыстро делает
если десяток папок с git-репозиториями лежит
Orel
@2byte
Mar 09 2015 21:08 UTC
@Rhincodon А можно же алиасы в гите настроить и не хуже этого gg будет
Denis Isaychenko
@Rhincodon
Mar 09 2015 21:10 UTC
@2byte ну это ж настраивать нужно, а там 1 команду выполнить и всё для установки :)
Orel
@2byte
Mar 09 2015 21:11 UTC
Лень прогресс )
LaravelButler

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

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

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

Роман Сохарев
@greabock
Mar 09 2015 21:58 UTC

как получить пивот через связанную модель модель?

Например

$items = Item::with('related')->first();
foreach ($items->related as $subitem)
{
    echo $subitem->pivot->pivot_attribute;    
}
ой туплю
ой туплю
ой туплю
и так же работает