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" []
请告诉我,我只是忽略了一些非常轻微和愚蠢的事情,我只是需要一些睡眠。
答案 0 :(得分:2)
虽然SQL不区分大小写,但模型填充的属性数组是一个PHP数组,其中索引区分大小写。架构的主键为ID