Doktrin göre manual I ($record['myField']) sürece ($record->myField) veya dizi gösterimde ok gösterimi kullanarak bir modelin bir özelliği referans gerekir Model Record sınıfından türetilir.
Benim veritabanı benim modellerini üretmek için Doktrini kullanılır, bu yüzden Doctrine_Record uzanan bir BaseRecipe sınıfını genişleten bir (oluşturulan) Recipe sınıf var. Bir Recipe nesnesi başlattıktan sonra ben onun değerlerine erişmek için dizi gösterimini kullanmak, ama ok gösterimi kullanarak sadece boş değerleri döndürür olabilir. Ne eksik?
Doktrin tarafından oluşturulan BaseRecipe sınıfı iki yöntem vardır:
public function setTableDefinition()
{
$this->setTableName('rcp_recipe');
$this->hasColumn('recipe_id', 'integer', 4, array(
'type' => 'integer',
'fixed' => 0,
'unsigned' => false,
'primary' => true,
'autoincrement' => true,
'length' => '4',
));
...
}
public function setUp()
{
parent::setUp();
$this->hasMany('RcpTime', array(
'local' => 'time_id',
'foreign' => 'time_id'));
...
}
Ve burada ben bunu kullanmaya çalışıyorum nasıl:
$newRecipes = RecipeService::getLatestRecipes();
foreach ($newRecipes as $recipe)
{
echo($recipe['title']); // prints the expected value
echo($recipe->title); // prints empty string
}
Ve burada benim getLatestRecipes yöntem:
static function getLatestRecipes() {
$q = Doctrine_Query::create()
->from('Recipe')
->orderBy('recipe_id desc')
->limit(5);
return $q->fetchArray();
}