Hi i have table "User" and a Controller "users_controller.php" and i have another table called "cateogry", need to retrieve values from this table in the "listall" action(site.com/users/listall).
nasıl ben başka bir tablodan değerler alabilirsiniz.
Eğer bir kullanıcı belongsTo Kategori ilişki var varsayarak, kategoriler içeren bir seçme elemanı doldurmak için:
$categories = $this->User->Category->find('list'); $this->set(compact('categories'));
echo $form->input('User.category_id');
Kek otomatik Inflector için category_id
seçeneğini sayesinde $categories
değişken içerdiği değerleri kullanır. Nedense senin değerleri, farklı bir değişken, kullanımda ise
echo $form->input('User.category_id', array('options' => $values_array));
/ Modelleri / User.php:
var $actsAs = array('Containable');
var $hasMany = array('Category');
/ Kontrolörleri / users_controller.php:
function listall()
{
$users = $this->User->find('all', array('contain' => array('Category')));
$this->set('users', $users);
}
/ Views / users / listall.ctp:
foreach($users as $user)
{
echo htmlspecialchars($user['User']['username']);
echo '<ul>';
foreach($user['User']['Category'] as $category)
{
echo '<li>';
echo htmlspecialchars($category['description']);
echo '</li>';
}
echo '</ul>';
}
$ kullanıcıların dizi ortaya çıkarmak için hata ayıklama işlevini kullanın:
debug($users);
Containable davranışı üzerinde belgelere göz atın: