我正在使用FOSUserBundle,並且我創建了一個消息表,其中包含兩個與FOSUserBundle中的用戶相關的列。使用FOSUserbundle推進和相關數據
我想使用一個查詢來獲取有關作者的消息和信息。
繼schema.xml中:
<?xml version="1.0" encoding="UTF-8"?>
<database name="default" namespace="Acme\StoreBundle\Model" defaultIdMethod="native">
<table name="message">
<column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true" />
<column name="title" type="varchar" size="64" required="true" defaultValue="(untitled)"/>
<column name="content" type="longvarchar" />
<column name="author_id" type="integer" required="true" />
<foreign-key foreignTable="fos_user">
<reference local="author_id" foreign="id" />
</foreign-key>
<column name="recipient_id" type="integer" required="true" />
<foreign-key foreignTable="fos_user">
<reference local="recipient_id" foreign="id" />
</foreign-key>
</table>
</database>
我嘗試許多選項,沒有結果。
當我嘗試,似乎是合乎邏輯的:
$messages = MessageQuery::create()
->join('Message.Authorid')
->findByRecipientId(1);
我得到一個錯誤: 「未知表或別名消息」
有了:
->join('Authorid')
錯誤:「未知關係Acme \ StoreBundle \ Model \ Message表中的Authorid「
我在做什麼錯?
謝謝你的幫助。
未知表或別名消息 500內部服務器錯誤 - PropelException 在這兩種情況下。 ;/ – Mate 2013-03-20 15:52:11
我想你需要找出那個其他類的名字是什麼......如果它是'User',那麼在點('.')之後的部分應該是'User'。我認爲你說對了。無論如何,需要知道Propel認爲連接類是什麼。哦!但是我看到你有兩個FK引用同一張表......可能有問題。查看我的更新。 – jakerella 2013-03-20 15:57:13