I am very new trying some kohana code and encountering first problem already :(

just to make it quick this is my model

<?php

class Model_Post extends ORM {

}

this is my controler

<?php defined('SYSPATH') or die('No direct script access.');

class Controller_Blog extends Controller {

    public function action_index()
    {
        $posts = ORM::factory('Post')->find_all();
        $view = View::factory('blog/index')
            ->bind('posts', $posts); 
        $this->response->body($view);
    }
} // End Blog

and this is my view

<h2>My list of blog posts</h2>
<? foreach($posts as $post): ?>
    <hr />
    <h4><?= $post->author ?></h4>
    <p><?= $post->body ?></p>
<?endforeach; ?>

Now i am getting an error

ErrorException [ Notice ]: Undefined variable: post
APPPATH\views\blog\index.php [ 4 ]
1 <h2>My list of blog posts</h2>
2 <? forech($posts as $post): ?>
3   <hr />
4   <h4><?= $post->author ?></h4>
5   <p><?= $post->body ?></p>
6 <?endforeach; ?>

I am going through this video

My resultset isnot empty as when i change my controller to

class Controller_Blog extends Controller {

    public function action_index()
    {
        $posts = ORM::factory('Post')->find_all();
    //  $view = View::factory('blog/index')
    //      ->bind('posts', $posts); 
        $this->response->body($posts[0]->body);
    }
} // End Blog

it shows my first row

有帮助吗?

解决方案

I have the same problem ! I try to change the index.php like this :

<h2>My list of blog posts</h2>

<?php foreach($posts as $post): ?>
    <hr />
    <h4><?php echo $post->author ?></h4>
    <p><?php echo $post->body ?></p>
<?php endforeach; ?>

and it works for me !

其他提示

I've tried to recall your setup, and everything works fine on my installation of Kohana 3.2. You could try to check if there are posts, before the foreach?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top