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
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"
Где то явно напортачил, где понять сложно..
Stas
11.01.2018
08:20:14
попробуй заюзать исиадмин
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
ТО есть один юзер может иметь много лайков, но при это в одном посте только по одному лайку
Oleja
11.01.2018
23:22:22
А ты о какой таблице говоришь?
Если хочешь, я тебе завтра никадаю сущности как надо