@symfony_ru

Страница 104 из 138
darkwoolf
06.01.2018
12:16:27


https://github.com/darkwoolf10/symfony_blog/tree/master/src/AppBundle

Вот код бандла

Я получается сделал связь между постом и коментарием и в view через цыкл вывожу пост, но по какой-то причине создается пост в автором и датой, но без ид и контента

Google
darkwoolf
06.01.2018
12:28:05
https://hastebin.com/ofexojodip.php Вот код контроллера который отвечает на создание коментов

Василий
06.01.2018
12:46:03
Минутка javascript. Когда "undefined" === typeof x и undefined === x не одно и то же



Это один из примеров умышленного неправильного поведения (willful violation). Кому интересно почему так происходит - в самом конце тут можно прочитать https://www.w3.org/TR/2011/WD-html5-20110113/obsolete.html#obsolete

Oleja
06.01.2018
14:51:39
Привет всем! Есть вопрос по переводу, нужен совет. Есть сущности для которых переводы храню в БД. Эти сущности используются в ChoiceType и там же происходит сортировка по алфавиту (в buildView). Вопрос, есть ли смысл хранить переводы в symfony translator?

darkwoolf
08.01.2018
01:30:28


а это вообще нормально что все параметры есть, а кидает ошибку?

Может потому что в сущности нельзя так делать? /** * @ORM\Column(type="integer") */ private $counterLikes; public function __construct() { $this->counterLikes = 0; } public function upCounterLikes() { return $this->counterLikes = $this->counterLikes + 1; }

Alexander
08.01.2018
02:25:35
Кидает ошибку не из-за параметров, а из-за того, что like это ключевое слово в MySQL

Oleja
08.01.2018
06:42:45
darkwoolf
08.01.2018
20:59:15
Блен)

Oleja
08.01.2018
21:00:12
шо такое?

darkwoolf
08.01.2018
21:46:53
https://hastebin.com/tasutiliso.php

Google
darkwoolf
08.01.2018
21:47:59
Вообщем есть такой контроллер и когда я нажимаю на лайк, то он просто создает новый объект, а по идее должно просто добавлять 1 к этому объекту

Николай
08.01.2018
21:51:33
мутно все как-то

darkwoolf
08.01.2018
21:52:12
мутно все как-то
Что именно?



Oleja
08.01.2018
21:53:56
все верно

ты ж каждый раз создаешь новый объект

$like = new Likes();

и потом его сохраняешь

$like = $this->getDoctrine()->getRepository('AppBundle:Likes')->findOneByPost($post); if ($like === null) $like = new Likes();

да прибудет счастье в твой комп

Николай
08.01.2018
21:58:28
но тогда нет смысла в user_id столбце.

Oleja
08.01.2018
21:58:59
ну тут уже от логики зависит

Николай
08.01.2018
21:59:05
Он всегда будет указывать на последнего лайкнувшего юзера

Oleja
08.01.2018
21:59:16
может один и тот же юзер может лайкать больше одного раза

Николай
08.01.2018
22:00:06
ага.. ну тогда и counter_likes обретает смысл)

Oleja
08.01.2018
22:00:59
щас всю структуру сайта поменяем к какой-нибудь бабушке =))))))

darkwoolf
08.01.2018
22:15:32
может один и тот же юзер может лайкать больше одного раза
Суть в том чтобы сделать чтобы каждый мог лайкнуть только 1 раз

Oleja
08.01.2018
22:16:00
Тогда зачем counter_likes?

если там всегда будет один

darkwoolf
08.01.2018
22:16:14
Ну нужно чтобы было не 1

Google
darkwoolf
08.01.2018
22:16:27
На число лайков

Oleja
08.01.2018
22:16:35
как там может не один, если суть чтоб только один раз лайкнул

у тебя в таблице можно это поле убирать

делать поиск по связке пост+юзер, если есть такое - то нельзя больше лайкать

darkwoolf
08.01.2018
22:17:08
Крч, суть в том чтобы сделать лайки

Oleja
08.01.2018
22:17:18
убирай поле counter_likes

и надо строку поиска поменять

$like = $this->getDoctrine()->getRepository('AppBundle:Likes')->findOne(['post' => $post, 'user' => $user);

дальше, если ничего не нашел - создаешь

если нашел - шлеш лайкера подальше

darkwoolf
08.01.2018
22:19:02
ДА, а как тогда выводить число лайков если нету поля которое ты сказал мне удалить(counter_likes)

?

Oleja
08.01.2018
22:19:13
по кол-во записей

COUNT(id) WHERE post = 1

а если лайков много предвидется, то вообще вынести в отдельную таблицу кол-во лайков

а эту использовать только для проверки возможности лайка

да даже если мало лайков, все равно надо создать одну таблицу для общего кол-во лайков по постам

darkwoolf
08.01.2018
22:24:24
Что-то жёстко, но ладно...Буду разбираться

Admin


darkwoolf
08.01.2018
22:24:32
Примерно идею понял

Google
Oleja
08.01.2018
22:29:12
хорошо, спрашивай если что

darkwoolf
08.01.2018
22:53:18
Спасибо)

ol
09.01.2018
06:10:50
А сессии писать лайковших не ?

Oleja
09.01.2018
09:21:47
А когда сессия сбросится я могу снова лайкнуть?

Misha
09.01.2018
13:32:33
привет, может кто-то сможет подсказать Behat + Selenium on SF4 Flex, указал тестовую БД отдельно в test/doctrine.yaml, в конфигах behat.yaml под тоже test, с FetauresContext данные записываются в тестовую БД норм, но селениум в браузере запускает версию с данными из prod. Может подскажете куда смотреть, где настроить?

Stas
09.01.2018
13:45:47
в sf2 пробрасывал %test_base_url% (урл, который работает в test env) в качестве параметра для Mink в FeatureContext::beforeScenario() для нужного мне сьюта

Misha
09.01.2018
13:51:08
Stas
09.01.2018
13:51:55
ну смотря как он у вас запускает апп. у меня просто standalone.jar + chrome driver

Misha
09.01.2018
13:53:19
точно также, тем более в контекст добавляется кернел тест

extensions: Behat\Symfony2Extension: kernel: env: "test" debug: "true"

примерно как тут сделал https://github.com/api-platform/demo/blob/master/behat.yml

но тут без селениума

Alexander
11.01.2018
07:10:22
Всем привет Может кто подсказать... разбираюсь с symfony, сделал блог, но теперь надо с Sanata Admin Bundle разобраться и привязать к сайту. По мануалу (https://symfony.com/doc/current/bundles/SonataAdminBundle/getting_started/creating_an_admin.html) не получается так как entity уже создан до этого, и репозиторий есть, потому подойдя на этап когда в сервисах нужно добавить - ошибка "The service "admin.blog" has a dependency on a non-existent service "sonata.admin.manager.orm"." Сама запись в сервисах "admin.blog: class: Blogger \ BlogBundle \ Admin \ BlogAdmin arguments: [~, Blogger \ BlogBundle \ Entity \ Blog, ~] tags: - {name: sonata.admin, manager_type: orm, label: Blog} public: true" Где то явно напортачил, где понять сложно..

Alexander
11.01.2018
08:21:25
Был бы выбор, а так он ограничен) По работе разбираюсь, часто придется сталкиваться с ней и symfony

Kenan
11.01.2018
10:19:13
app/console fos:user:create --super-admin

Sergei
11.01.2018
10:28:26
дома есть готовый проект с сонатой, если не решишь проблему, вечером гляну

сейчас easy admin просто юзаю

Alexander
11.01.2018
10:34:29
Kenan, FOS не ставил Пока в основном ругается на не правильную запись в сервисах, нашел пример (http://devacademy.ru/posts/symfony-2-joboard-interfejs-administratora/) по нему тоже не работает, сверился, немного где поправил - и итог один. Устанавливал по сути как тут и описано, не первый день бьюсь с этим

Google
Alexander
11.01.2018
11:29:47
FOS и создание юзера не помогло в итоге

darkwoolf
11.01.2018
22:35:53
А сессии писать лайковших не ?
Я пока что не на 100 проц понимаю как это реализовать

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

ТО есть один юзер может иметь много лайков, но при это в одном посте только по одному лайку

Oleja
11.01.2018
23:22:22
А ты о какой таблице говоришь?

Если хочешь, я тебе завтра никадаю сущности как надо

Страница 104 из 138