Laravel Eloquent hasMany返回null

时间:2014-01-03 05:43:09

标签: wordpress laravel laravel-4 eloquent

Laravel 4在一个新项目上给了我意想不到的结果。为了帮助我更好地理解结果,我尝试了一些简单的练习,并在他的虚拟主机上使用朋友的旧WordPress博客。

发布模型:

class Post extends Eloquent {

    protected $table = 'wp_posts';

    public function meta()
    {
        return $this->hasMany('Meta', 'post_id');
    }
}

元模型

  class Meta extends Eloquent {

    protected $table = 'wp_postmeta';

    public function post()
    {
        return $this->belongsTo('Post');
    }
}

我尝试了所有这些变化但没有用...

的TestController:

public function get_index()
{
//        $test = Post::with('Meta')->get();
//        $test = Post::with('Meta')->where('id', '=', '219')->first();
//        $test = Post::find(219)->Meta()->where('post_id', '=', '219')->first();
//        $test = Post::find($id)->Meta()->get();
//        $test = Meta::with('Post')->get();
    $id = 219;
    $test = Post::find($id)->meta;
    return $test; 
}

在事件监听器中返回:

string(47) "select * from `wp_posts` where `id` = ? limit 1" string(65) "select * from `wp_postmeta` where `wp_postmeta`.`post_id` is null" []

请告诉我,我只是忽略了一些非常轻微和愚蠢的事情,我只是需要一些睡眠。

1 个答案:

答案 0 :(得分:2)

虽然SQL不区分大小写,但模型填充的属性数组是一个PHP数组,其中索引区分大小写。架构的主键为ID