Korg
ну я правильно мыслю, что если у меня через неделю нужно будет привязать отзывы к другой сущности, то лучше связь отзыва и сущности держать в другой таблице?
например review_to_user или review_to_article.... ?
Dmitry
Korg
типа в таблицу отзывов добавить поля entity_id и entity_type ? как-то так?
Dmitry
Korg
а есть пример или ссылка на доку? как сделать связь по двум полям?
Korg
Спасибо!
Alexander
Кто деплоит(ил) с помощью Delpoyer? Подскажите как настроить его.
<?php
namespace Deployer;
require 'recipe/common.php';
require 'recipe/laravel.php';
set('repository', '1. https://ссылкаНаРепозиторийБитбакет верно?');
host('production', '2. Папка куда деплоить?')
->user('3. имя какого пользователя? root?')
// ->identityFile() это что ?
->set('deploy_path', '4. еще раз куда деплоить? полный путь?');
add('shared_files', [
'.env'
]);
?>
Alexander
identityFile как я понял что-то с ssh ключами, но не понял где взять)
Alexander
Погодите ка.. Это настраивается на моей машине?? не на сервере?
invariance
HOLY MOLY
Leonid
Пытаюсь воспользоваться директивой ProxyPass в апаче для работы с node.js и socket.io.
<Location /node>
ProxyPass http://localhost:8890
ProxyPassReverse http://localhost:8890
</Location>
Тут появляется проблема с тем, что socket.io делает запрос на /node/socket.io по протоколу ws и сервер должен поменять протокол и вернуть корректный 101 ответ.
Нагуглил, что нужно добавить эти строки:
RewriteCond %{REQUEST_URI} ^/node/socket.io [NC]
RewriteCond %{QUERY_STRING} transport=websocket [NC]
RewriteRule /(.*) ws://localhost:8890/$1 [P,L]
Они немного помогли, но всё равно дальше сообщения failed: Error during WebSocket handshake: Invalid status line не пробраться.
Что ещё нужно добавить к конфигурации?
Без апача локально всё работает. 101 возвращает.
Alexander
На сервере сделал id_rsa и id_rsa.pub
скачал себе.
Сделал такой deploy.php
<?php
namespace Deployer;
require 'recipe/common.php';
require 'recipe/laravel.php';
set('repository', 'https://ссылка на битбакет');
host('production', 'IP сервера')
->user('root')
->identityFile('/.ssh/id_rsa.pub', '/.ssh/id_rsa', 'Пароль, указанный при создании этих файлов')
->set('deploy_path', '/home/ПутьКудаЗалить/public_html')
;
add('shared_files', [
'.env'
]);
?>
Через composer поставил Deployer
Установил OpenSSH, настроил окружение OpenServer консоли (set PATH=%ConEmuBaseDir%\Scripts;%PATH%;C:\Program Files (x86)\OpenSSH\bin;C:\Program Files (x86)\OpenSSH\bin\ssh.exe
) чтобы из консоли увидел 'ssh'.
Вроде запустил, уже минут 10 висит на Executing task deploy:prepare
Он что-то делает или завис?))
Dmitry
Dmitry
если с ключем для тебя тяжко, то сделай просто авторизацию по паролю
Golodnyi
$ignoreFile = realpath('.') . '/.gitignore';
товарищи, как думаете, сработает ли этот код на шиндовсе?
Golodnyi
у кого шиндовс есть с пхп, проверьте
<?php
file_put_contents('./test.txt', 'Hello');
echo file_get_contents(realpath('.') . '/.test.txt');
?>
Andrey
Andrey
ты специально пишешь "шиндовс"?
Golodnyi
ну это абстрактный код, я просто опечатался, почини его)
Alexander
не могу на сайте Deployer найти как авторизоваться по логин:пароль...
Alexander
если с ключем для тебя тяжко, то сделай просто авторизацию по паролю
Golodnyi
мне тут интересна суть, что realpath вернет обратные слэши, а тут захардкожен правильный слэш, тоесть путь будет типа C:\users\golodnyi/test.txt и винда это схавает или скажет файл не найден?
Dmitry
Golodnyi
тоесть тут только проблема эстетики? Ну все равно ПР отправлю
Dmitry
Golodnyi
ну линуксу этот код и не страшен
Anton
Ну вообще есть константа directory separator
Anton
Или как-то типа тоо
Anton
Ее пользовать комильфо.
Golodnyi
да, я слэш на нее и заменил
Alexander
<?php
namespace Deployer;
require 'recipe/common.php';
require 'recipe/laravel.php';
set('repository', 'https://bitbucket repository');
host('production', 'IP')
->user('root')
->password('Пароль')
->set('deploy_path', '/home/Куда/public_html')
;
add('shared_files', [
'.env'
]);
?>
Andrey
Alexander
Кричит
[Error] Call to undefined method Deployer\Host\Host::password()
Golodnyi
Archakov
Подскажите, как вернуть в записью, все комментарии к ней?
Archakov
Есть таблица с записями и комментариями. В комментах есть post_id
Николай
Тупой вопрос, ребят - никогда не накатывал Sleeping Owl. Никаких ведь данных в бд не заносит при установке?
Alexander
Вечер добрый, никак не соображу:
Есть таблицы
checklists:
- id
checklist_items:
- id
- checklist_id
checklist_results:
- id
- item_id
- date
Модели: https://pastebin.com/nGPpiJ1S
Как мне получить для пользователя, итемы с результатом за указанную дату? Что-то вроде этого:
$yesterday_items = Auth::user()->checklists()
->with('results')
->where('date', Carbon::yesterday()->toDateString())
->get();
Dmitry
Anonymous
))
Anonymous
Самый простой вариант :D
Anonymous
Ну лан)
Anonymous
Для человека, не читавшего доки*
Anonymous
Я просто с таким кодом сейчас работаю
Anonymous
Чел не смог сделать лэйаут
Anonymous
И тут 10 представлений
Golodnyi
Dmitry
а пагинацию?)
для чего, для коментов?
$post->comments()->paginate(15)->get();
Golodnyi
Dmitry
Дмитро
Кто использовал prettus/l5-repository? зачем он генерирует свой валидатор и одновременно форм реквест для валидации?
Dmitry
Дмитро
а какой сейчас новый и модный?
Дмитро
andersao released this 3 days ago
вроде обновляется
Dmitry
Дмитро
именнованые выборки, кеширование
Dmitry
Dmitry
вообще концепция репозиториев фигово ложится на AR, потмучто он сам репозиторий
Дмитро
пишешь метод типа $repository->getAllWithSomething() например и у тебя не разрастается ни класс модели, ни класс в котором надо выборку вызвать
Дмитро
сингл респонсибилити, все дела
Дмитро
плюс там еще критерии и скоупы удобно добавлять
Dmitry
Дмитро
да да
Дмитро
но у тебя не было никогда, что модель разростается до сотен строк?
Dmitry
Дмитро
ну так нафига оно надо)
Niko
Dmitry
я ничего против репозиториев не имею, не подумай )
Дмитро
так я и спрашиваю - какой сейчас пакет модный?
Дмитро
самому писать как-то взападло
Дмитро
Мне бы кеширование пригодилось
Dmitry
ну так кешируй :) создай интерфейс своего репозитория, потом сам репозиторий, а потом декоратор для кеширования
Дмитро