我有下表
Schema::create('jokes_categories', function(Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('is_active');
$table->timestamps();
});
Schema::create('jokes', function(Blueprint $table) {
$table->increments('id');
$table->string('content', 200)->unique();;
$table->enum('is_active', array('Y', 'N'));
$table->integer('category_id')->unsigned();
$table->foreign('category_id')->references('id')->on('jokes_categories');
$table->timestamps();
});
在笑话表category_id
中是一个外键,它与jokes_categories
在模型中我有以下内容:
class Joke extends \Eloquent {
public static $rules = array();
// Don't forget to fill this array
protected $fillable = array();
public function JokesCategory(){
return $this->belongsTo('JokesCategory');
}
}
在控制器中我有以下内容:
$jokes = Joke::all();
但它没有通过joke_categories
。name
(我的印象是模型定义将直接帮助拉动相关模型)
可能是什么解决方案?
答案 0 :(得分:3)
您的查询仅在Joke表上。
你可以加载类别,即。
$jokes = Joke::with('JokesCategory')->get();
答案 1 :(得分:0)
约定实际上是驼峰案例而不是pascal案例,否则Laravel似乎不会自动加载关系。我犯了同样的错误,无法弄清楚为什么我的关系不能自动加载。
public function jokesCategory()