我有一个非常基本的表,只有几列。它15 records
在里面。
现在,如果我使用这个query
:
SELECT * FROM excursions WHERE lang_id = 1
它按我的预期返回5
记录。
但是,当我使用教义2时,它会创建一个这样的查询:
SELECT
e0_.idx AS idx0,
e0_.place_id AS place_id1,
e0_.lang_id AS lang_id2,
e0_.excursion_name AS excursion_name3,
e0_.excursion_type AS excursion_type4,
e0_.excursion_text_short AS excursion_text_short5,
e0_.start_date AS start_date6,
e0_.end_date AS end_date7,
e0_.override_place AS override_place8,
e0_.languages AS languages9,
e0_.meeting_place AS meeting_place10,
e0_.excursion_text AS excursion_text11,
e0_.starts_at AS starts_at12,
e0_.category_id AS category_id13,
e0_.map_link AS map_link14,
e0_.capacity AS capacity15,
e0_.pick_up_time AS pick_up_time16,
e0_.is_activity AS is_activity17
FROM excursions e1_, excursions e0_
WHERE e0_.lang_id = 1
现在,当我执行此操作时,它会返回25 records
!5 copy for each record
. 它们完全相同,但不是5
返回25
记录。(5x5)
哦,是的,如果我将其删除,excursions e1_
则总共返回 5 条记录。但为什么?
谁能看看那个查询,我在这里错过了什么吗?
我用过QueryBuilder()
。
$qb = $this->getRepository()->createQueryBuilder('Excursions');
$qb->select('e')->from('Web\Bundle\ExcursionBundle\Entity\Excursions', 'e');
$qb->andWhere("e.langId = 1");
注意:我做了其他样式有或没有QueryBuilder()
。结果总是一样的。PHP 得到1
了每个的副本。我在服务器端执行的查询获取5
每条记录的副本。
我问这个是因为,如果学说多次获得,如果我像500
记录一样获取整个表格怎么办?它可能会抓住500x5
. 不会减慢进程吗?