我是所有这一切的新手,并试图绕着Laravel。我有两个模型设置和一个数据透视表。我正在尝试以下列格式输出一些JSON:
[
{
"question": "somequestiongoeshere",
"tags": [
"tag1",
"tag2"
]
},
{
"question": "somequestiongoeshere",
"tags": [
"tag1",
"tag2"
]
}
]
我只能输出标签或问题,但不能输出上述格式。非常感谢任何指导。
Question.php
<?php namespace App;
use Illuminate\Database\Eloquent\Model;
class Question extends Model {
public function tags() {
return $this->hasMany('App\Tag');
}
}
Tag.php
<?php namespace App;
use Illuminate\Database\Eloquent\Model;
class Tag extends Model {
public function questions() {
return $this->hasMany('App\Question');
}
}
控制器
public function index() {
return Question::all();
}
答案 0 :(得分:1)
默认情况下,Eloquent在调用(延迟加载)之前不会加载关系。您需要指定要加载的关系,或者“急切加载”它们(与延迟加载相反)。例如:
$questions = Question::with('tags')->get();
查看更多here。