पर कहा जाता है। यह बढ़िया काम करता है। अगर मैं एक व्यवहार में afterFind समारोह के लिए कदम (एक प्लगइन में) यह अभी भी काम करता है, लेकिन केवल जब ब्याज की मॉडल प्राथमिक मॉडल है, यानी यह जब एक और मॉडल belongsTo मॉडल कहा जाता नहीं है। क्या इस के चारों ओर कोई रास्ता है? मैं केक 1.3.4 का उपयोग कर रहा हूँ।CakePHP व्यवहार afterFind नहीं मैं एक afterFind समारोह का उपयोग कर रहा एक खोज समारोह से डेटा को संशोधित करने संबंधित मॉडल
class ChemicalStructureBehavior extends ModelBehavior {
function afterFind(&$model, $results, $primary) {
foreach ($results as &$unit) {
// format chemical formula (with subscripts)
$unit[$model->alias]['chemical_formula_formatted'] = preg_replace('/([0-9]+)/i', '<sub>$1</sub>', $unit[$model->alias]['chemical_formula']);
}
return $results;
}
}
पीएचपी 5.4 से और ऊपर, तो आप इस के लिए एक विशेषता इस्तेमाल कर सकते हैं - बस (बदलते '$ this' को' $ model' संदर्भ) एक नई विशेषता घोषणा युक्त फ़ाइल में अपने 'afterFind()' कोड डाल दिया और इसे शामिल 'उपयोग' कथन के साथ अपने मॉडल वर्ग के शीर्ष पर। आपको अपनी मॉडल फ़ाइल के शीर्ष पर अपनी विशेषता वाले फ़ाइल को लोड करने के लिए 'ऐप :: आयात() 'या' आवश्यकता() 'का उपयोग करने की आवश्यकता होगी। – BeesonBison