- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下实体。
实体产品:
namespace App\Model;
use Nette\Object;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
/**
* @ORM\Entity
*/
class Product extends Object
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue
* @var int
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="Category")
* @ORM\JoinColumn(name="category_id", referencedColumnName="id", onDelete="SET NULL")
* @var int
*/
private $category;
/**
* @ORM\OneToOne(targetEntity="Image", cascade={"persist", "remove"})
* @var Image
*/
private $image;
/**
* @ORM\OneToOne(targetEntity="Image", cascade={"persist", "remove"})
* @ORM\JoinColumn(nullable=true, onDelete="SET NULL")
* @var Image
*/
private $backgroundImage;
/**
* @ORM\ManyToOne(targetEntity="Layer")
* @ORM\JoinColumn(name="methodOfPreparing_id", referencedColumnName="id", onDelete="SET NULL")
* @var Layer|NULL
*/
private $methodOfPreparing;
}
/**
* @ORM\Entity
*/
class Layer extends Object
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue
* @var int
*/
private $id;
/**
* @ORM\OneToMany(targetEntity="State", mappedBy="layer", indexBy="position", cascade={"persist", "remove"})
* @var ArrayCollection
*/
private $states;
/**
* @ORM\Column(type="string")
* @var string
*/
private $name;
/**
* @ORM\Column(type="integer")
* @var int
*/
private $position;
}
/**
* @ORM\Entity
*/
class State extends Object
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue
* @var int
*/
private $id;
/**
* @ORM\Column(type="string")
* @var string
*/
private $name;
/**
* @ORM\ManyToOne(targetEntity="Layer", inversedBy="states")
* @ORM\JoinColumn(name="layer_id", referencedColumnName="id", onDelete="CASCADE")
* @var Layer
*/
private $layer;
/**
* @ORM\Column(type="integer")
* @var int
*/
private $position;
/**
* @ORM\Column(type="integer", columnDefinition="int(1) NOT NULL")
* @var bool
*/
private $active;
}
SELECT Product
FROM product
LEFT JOIN
(SELECT Layer, State
FROM layer
INNER JOIN state ON layer.id = state.layer_id
WHERE state.active = 1
) sub
ON sub.id = product.methodOfPreparing_id
最佳答案
您可以使用 WITH 子句作为 JOIN 条件在 DQL 中执行 LEFT JOIN 子查询。
例如。,
SELECT st
FROM SomeThings st
LEFT JOIN st.other ot WITH ot.id = (
SELECT ot2
FROM OtherThings ot2
WHERE ot2.id = 'some ID'
)
WHERE blah blah blah
SELECT st
FROM SomeThings st
LEFT JOIN st.others ot WITH ot.id IN (
SELECT ot2
FROM OtherThings ot2
WHERE ot2.status = true
)
WHERE blah blah blah
SELECT f, df, d
FROM Entities\Main_frames f
LEFT JOIN f.dashboards df WITH df.dashboard IN (
SELECT dd
FROM Entities\Main_dashboards dd
WHERE dd.dashboard_addedby = :createdBy
AND dd.status = true
)
LEFT JOIN df.dashboard d
INDEX BY f.id
WHERE f.createdBy = :createdBy
AND f.frame_type IN (2, 6)
AND f.status = true
ORDER BY f.createdDate
SELECT m, cm, s
FROM Entities\Main_modules m
LEFT JOIN m.companyModules cm WITH cm.companyid = :companyId
LEFT JOIN m.subscriptions s WITH s.id = (
SELECT ss
FROM Entities\Subscriptions ss
WHERE ss.company = :companyId
AND ss.module = m.id
AND ss.createdDate = (
SELECT MAX(sss.createdDate)
FROM Entities\Subscriptions sss
WHERE sss.company = :companyId
AND sss.module = m.id
)
)
WHERE m.id <= 4
ORDER BY m.id
关于doctrine-orm - Doctrine 2 查询构建器和 leftJoin 子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22673475/
代码在 EventUserTypes 模型中 $this->find() ->select(['event_usertypes.user_type_id' , 'usertypes.n
我的 eloquent 模型有一些问题,我尝试将两个不同的表合并为一个 现在我有两个表。 第一个表名称“company_saved_cv” |id|company_id|worker_id | ---
我正在尝试将 leftJoin 添加到 hasOne 方法中,但它似乎不起作用。来自主表的数据存在,但不来自连接表。代码: public function getUser() {
我是 laravel 的新手。 我有两张 table 。1)产品2) 价格 ----------------------------- - products - --
此代码返回“count”和“odds”值完全相同(它们不应该相同)。它实际上只计算“o.id”并为两者返回相同的值。 如何正确计算“b.id”? \DB::table('matches as
我有这个 SQL 代码,我想把它转换成 ormlite - 但我不知道如何以最好的方式做到这一点。 SELECT * FROM Job INNER JOIN Emp ON Job.JobAnsvar
我在使用 leftJoin 进行 laravel select 时遇到问题。我试图选择 2 个帖子并计算有多少条评论(第一个帖子有 7 个评论,第二个 - 0),但我只得到第一个帖子有 7 个评论。
我是 Laravel 的新手,正在学习 leftJoin。 我有一个名为“users”的表,其中行为“steam_id”。 我有另一个名为“匹配”的表。 “匹配”表有一个名为的唯一行“match_
我正在尝试使用此 Controller 删除“ super 管理员”: $user->superadmin = DB::table('role_users AS ru') ->leftJoin('us
这个问题在这里已经有了答案: Join between tables in two different databases? (4 个答案) 关闭 6 年前。 我有一个项目,其中有两个 MySQL
我在 MySQL 中有两个表。 logs 表包含列:time、user_id、event_type users 表有列:email, id 每次用户登录到生成日志文件的系统时,event_type 列
我的数据库中有以下表格: 连接 编号 owner_id 所有者 编号 名 ConnectionsController.php $connections = DB::table('connections
我有一个问题 Select m.name from machines m innerJoin config c ON m.cod = c.cod --> where ( c.categ
在我的 laravel 5.7/eloquent/Mysql 5.5 应用程序中,我需要在聊天列表中获取任何聊天消息的值以及给定 useronly ($user_id) 的任何聊天消息的另外 1 列消
我在类客户和类产品之间有很多关系。例如 数据库客户 | ID | Name | ----------------------- | 01 | Jack | | 02 | Joe | |
如何将以下查询转换为 Doctrine: SELECT restaurants.restaurant_name , restaurants.restaurant_id,
表 1) m_conservationsetting +------------+-------+------------+ | FacilityId | Unit | CategoryId | +
我有一个产品,其描述、名称等以多种语言保存在另一个表中。一种产品可以有多种翻译(产品数据)。 目前,我获得了产品的所有翻译,并执行了 foreach 和 ifs 来根据语言环境获得所需的翻译...如果
我有 3 个模型: 用户 喜欢 发帖 Like 在 user_id 和 post_id(这是其他 2 个模型的 id 列)上使用 CakePHP 约定设置了 2 个外键。 我想运行一个查找,在 Pos
旧的 leftJoin 问题的一个细微变化:我有两个要加入的表: ID Val1 1 100 2 200 3 300 和 ID Val2 2 50 已关注 combine two tables
我是一名优秀的程序员,十分优秀!