如何在 Symfony 4 中制作喜欢和不喜欢?

约翰·多赫

我正在我的项目中设计类似和功能,但我坚持显示图标。

用户名

/**
 * @ORM\ManyToMany(targetEntity="App\Entity\Image", inversedBy="users")
 */
private $likes;

public function __construct()
{
    $this->images = new ArrayCollection();
    $this->likes = new ArrayCollection();
}
 ....
 /**
 * @return Collection|Image[]
 */
public function getLikes(): Collection
{
    return $this->likes;
}

public function addLike(Image $like): self
{
    if (!$this->likes->contains($like)) {
        $this->likes[] = $like;
    }

    return $this;
}

public function removeLike(Image $like): self
{
    if ($this->likes->contains($like)) {
        $this->likes->removeElement($like);
    }

    return $this;
}

图片.php

/**
 * @ORM\ManyToMany(targetEntity="App\Entity\User", mappedBy="likes")
 */
private $users;

public function __construct()
{
    $this->likes = new ArrayCollection();
    $this->users = new ArrayCollection();
}
...
/**
 * @return Collection|User[]
 */
public function getUsers(): Collection
{
    return $this->users;
}

public function addUser(User $user): self
{
    if (!$this->users->contains($user)) {
        $this->users[] = $user;
        $user->addLike($this);
    }

    return $this;
}

public function removeUser(User $user): self
{
    if ($this->users->contains($user)) {
        $this->users->removeElement($user);
        $user->removeLike($this);
    }

    return $this;
}

枝条

          <a href="{{ path('like',{'id':image.id}) }}">
            {% if  user likes the image display this %}  
              <i id="like" class="{{ unlike }} text-danger"></i>&nbsp;{{ image.users.count  }} 

              {% else show this %}
                     <i id="like" class="{{ like }} text-danger"></i>&nbsp;{{ image.users.count  }} 
              {% endif %}
              </a>

用户存储库

public function findByLikes($value): ?User
{
    return $this->createQueryBuilder('l')
        ->leftJoin('l.likes', 'u')
        ->leftJoin('u.user','e')
        ->addSelect('u','e')
        ->where('l.id = :val')
        ->setParameter('val', $value)
        ->getQuery()
        ->getOneOrNullResult()
    ;
}

任何人都可以帮助我的代码?我认为控制器没有问题。可能是我无法在树枝中编写逻辑。所以我的意图是显示喜欢和不喜欢的图标。我对喜欢和不喜欢都使用了单个图标。如果用户点击喜欢的图标,应该翻转到不喜欢的图标,反之亦然。

西尔维奥Q

假设用户已连接,您可以通过这种方式显示正确的图标:

      <a href="{{ path('like',{'id':image.id}) }}">
      {% if image.users.contains(app.user) %}
          <i id="like" class="{{ unlike }} text-danger"></i>&nbsp;{{ image.users.count }} 
      {% else %}
          <i id="like" class="{{ like }} text-danger"></i>&nbsp;{{ image.users.count }} 
      {% endif %}
       </a>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

您如何建议管理活动对象的喜欢/不喜欢?

如何在Symfony 4中处理资产

如何在Symfony 4中更新数据库?

如何在Symfony 4中启用Profiler

如何在Symfony 4中使用RedisSessionHandler?断文档

如何在Symfony 4中记录登录失败?

如何在Symfony 4中获取查询字符串

如何在Symfony 4中生成唯一的ID?

如何在Symfony 4中修复已弃用的用户?

如何在Symfony 4中使用datetimeNormalizer?

如何在Symfony 4中公开LoggerInterface服务

如何在Symfony 4表单的输入中添加占位符?

Laravel Api-如何喜欢和不喜欢

如何在Symfony 4中设置删除确认模态

在SQL中混合喜欢和不喜欢

如何在Ionic 4中像不喜欢Blog instagram这样的博客发贴

Django的。如何找出用户喜欢或不喜欢的帖子?

如何在SQL中的列值中使用“不喜欢”

如何根据点击,喜欢,不喜欢和时间创建“流行度”参数

如何避免大众喜欢和不喜欢投票系统

如何根据喜欢和不喜欢的百分比填充喜欢的酒吧?

如何使MySQL喜欢和不喜欢从列表中获取字符串

如何在 Symfony 4 中实现处理程序?

如何在 Symfony 4 中通过 GET 请求访问属性?

如何在symfony4的表单类中隐藏标签?

如何在 Symfony 4 中概括 ApiKeyAuthenticator?

如何在 Symfony 4 的功能测试中验证用户身份

如何使用 KolodaView Swift 在卡片的左右拖动上点击喜欢和不喜欢 API

如何在 Asp .net 核心网站(如博客)中制作“喜欢/不喜欢”按钮?