Question

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

Was it helpful?

Solution

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 !

OTHER TIPS

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?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top