問題は、結合されたカテゴリエンティティのオブジェクト全体を同時に選択しながら、カテゴリエンティティから1つのフィールドを選択しようとしていることです。プレーンSQLとは異なり、QueryBuilderコンポーネントでは、結合しているテーブルからのみエンティティを選択することはできません。
結合された子を持つメインのCategoryオブジェクトを返す場合は、->select(array('c', 'cc'))
を実行できます。 、または単に->select()
を省略します 一緒に電話してください。前者は、1回のクエリで必要な子を自動的に選択します。後者では、メインのカテゴリエンティティの子にアクセスする場合、別のSQLクエリが必要になります。
name
が必要な理由がある場合 title
として選択します オブジェクトでは、クエリに名前を書き込む代わりに、名前を取得するためのエイリアスである別の関数をエンティティにいつでも追加できます。
function getTitle()
{
return $this->getName();
}