我給。一直在尋找和嘗試不同的東西幾個小時。 使用CakePHP 2.3.5。Cakephp需要模型中的session var
我會直接去看它。 我想在我的分類模型中使用一個會話變量,但它不喜歡它,當我嘗試以下任一...
$this->Session->read('market_id')
CakeSession::read('market_id')
SessionHelper::read('market_id')
這裏就是我想要使用它的模型片段...
public $hasAndBelongsToMany = array(
'Vendor' => array(
'className' => 'Vendor',
'joinTable' => 'categories_vendors',
'foreignKey' => 'category_id',
'associationForeignKey' => 'vendor_id',
'unique' => 'keepExisting',
'conditions' => array('market_id' => ????)
)
);
我被困在一個獨輪車在泥裏。我已經讀到了爲什麼我不應該在模型中使用會話數據的無數觀點,但這對我來說非常合理,因爲如果沒有這個值,它就永遠不會被調用,並且它不應該返回除market_id之外的其他任何東西。但是這個價值確實改變了。
我完全有責任盡我所能去避免弄亂我的模型。整個骨感控制器的想法...是的...好想法,但我還沒有想出來。事情就這樣了。我第一次嘗試修改模型...我無法弄清楚如何。
問號那裏只是爲了告訴你,我需要的變量。我嘗試創建一個私有函數,它將返回會話變量,並使用該方法代替問號,但它失敗了。 – 2015-03-19 00:38:41
我很清楚這一點,但你*不能*在那裏使用一個變量,再次閱讀我的答案部分或關於屬性的PHP手冊。 http://php.net/manual/en/language.oop5.properties.php我的答案提供了三種方法來解決問題,只需選擇一個。 – burzum 2015-03-19 00:39:44
好的。現在有了這個迴應,我明白了。你不能在一個屬性中使用一個變量!所以,我會將我的注意力轉移到試圖找出如何通過查找選項。這實際上是我一直關注的地方,但卻無法讓語法正確。我會保持它。謝謝。 – 2015-03-19 00:46:08