1
Propel에서 어떻게 작성하나요? 스키마 :비 모델 조인 Propel
obj
--
id
object_id
foo
--
id
SQL :
SELECT f.*
FROM
foo f INNER JOIN obj o ON f.id=o.object_id
ORDER BY
o.id
;
PHP :
$join = new \Join();
$join->addExplicitCondition(
'foo', 'id', 'f',
'obj', 'object_id', 'o',
\Join::EQUAL
);
$join->setJoinType(\Criteria::INNER_JOIN);
$objectsQuery = FooQuery::create()
->setModelAlias('f', true)
->addJoinObject($join, 'o')
->addAscendingOrderByColumn('o.id') // error here
;
출력 : 내가 추진 1.7을 사용하고
Cannot fetch TableMap for undefined table: o
. 그리고 "obj"와 "foo"(다형성 관계라고 가정 함) 사이에 모델 관계가 없습니다. 그리고 오히려 커스텀 SQL을 쓰는 것을 피할 것입니다. 고맙습니다.
'addJoinObject'에 두 번째 매개 변수가 필요합니까? '-> addJoinObject ($ join)'만 해보십시오. –
시도해 보니 ... 아무것도 바뀌지 않았습니다. – JohnSmith
'-> addAscendingOrderByColumn ('obj.id')'를했다면 어떻게 될까요? –