2016-09-16 62 views
0

你好,我已经越来越Getting unknown property: app\models\ActiveCurriculum::periodperiod列位于schead获得未知属性的Yii 2 Joinwith

我已经使用这个代码加入表。

ActiveCurriculum::find() 
           ->select('scstock.*') 
           ->joinWith('schead') 
           ->where(['schead.TrNo' => $TrNo]) 
           ->one(); 

你能帮帮我吗?

EDIT 1(固定)

SQLSTATE [42000]:语法错误或访问冲突:1064您的SQL语法错误;请检查与您的MariaDB服务器版本相对应的手册,以获取在'WHERE schead'附近使用的正确语法。 'TrNo ='29005''在第1行 正在执行的SQL是:SELECT scstock。* FROM scstock LEFT JOIN schead WHERE scheadTrNo =“29005”

enter image description here

编辑2:我设法解决它,但我又得到一个新的错误

“JOIN子句必须被指定为联接类型的数组,连接表,并可选择加入条件。“

ActiveCurriculum::find() 
           ->select(`scstock.*`) 
           ->leftJoin(`schead`) 
           ->where([`schead.TrNo` => $TrNo]) 
           ->one(); 
+0

它应该是你的表名和joinWith应该是关系名。 –

+0

显示“ActiveCurriculum”模型。 –

+0

这是一种很长http://paste.ofcode.org/xDpYvwimZ2JNHSnJzi8ipS – user827391012

回答

0
ActiveCurriculum::find()->select('scstock.*') 
         ->joinWith('schead') 
         ->where(['schead.TrNo' => $TrNo]) 
         ->one(); 
// here joinWith('schead') means `schead` is name of the class 
ActiveCurriculum::find()->select('scstock.*') 
         ->joinLeft('schead','schead.scheadid=scstock.scheadid') // scheadid is the common field between two fields 
         ->where(['schead.TrNo' => $TrNo]) 
         ->one(); 
+0

我已更新我的帖子以显示另一个错误。 – user827391012

+0

你能告诉我哪个字段在scstock和schead表之间很常见吗 –

+0

请让我知道它是否解决了你的问题 –