Php Laravel数据库关系不工作
我做错了什么 我的Php Laravel数据库关系不工作,php,mysql,laravel,eloquent,Php,Mysql,Laravel,Eloquent,我做错了什么 我的entradas表格: Schema::create('entradas',函数(Blueprint$table){ $table->bigIncrements('id'); $table->biginger('categoria_id'); $table->string('descripao',200); $table->double('valor'); $table->timestamps(); }); 我的categorias表: Schema::create('cat
entradas
表格:
Schema::create('entradas',函数(Blueprint$table){
$table->bigIncrements('id');
$table->biginger('categoria_id');
$table->string('descripao',200);
$table->double('valor');
$table->timestamps();
});
我的categorias
表:
Schema::create('categorias',函数(Blueprint$table){
$table->bigIncrements('id');
$table->string('titulo',100);
$table->enum('tipo',['debito','credito']);
$table->timestamps();
});
我的Entrada
车型:
public function categoria()
{
返回$this->belongsTo('App\Categoria');
}
我的Categoria
车型:
公共函数entradas()
{
返回$this->hasMany('App\Entrada');
}
在我的EntradaController
上返回此信息:
公共功能索引(){
返回(Entrada::find(1));
}
我得到以下结果:
{
"id": 1,
"categoria_id": 3,
"descricao": "Distinctio minus praesentium quia ea voluptatem pariatur et. Tenetur maiores mollitia molestias asperiores. Exercitationem maiores voluptas id dolore rerum unde. Ipsum dolorem facere aut ut quos.",
"valor": 108,
"created_at": "2020-02-17 17:49:36",
"updated_at": "2020-02-17 17:49:36"
}
为什么不获取categoria属性?尝试更新外键列定义,如下所示:
Schema::create('entradas', function (Blueprint $table) {
// ...
$table->bigInteger('categoria_id')->unsigned();
// ^^^^^^^^^^^^^
// You could also do:
// $table->unsignedBigInteger('categoria_id');
// ...
});
此外,要访问关系,您需要加载它。所以作为一个答案
为什么我不能得到categoria的财产
你可以利用:
这将为您提供预期的json:
{
"id": 1,
"categoria_id": 3,
"descricao": "Distinctio minus praesentium quos.",
"valor": 108,
"categoria": {
// ...
},
"created_at": "2020-02-17 17:49:36",
"updated_at": "2020-02-17 17:49:36"
}
尝试更新外键列定义,如下所示:
Schema::create('entradas', function (Blueprint $table) {
// ...
$table->bigInteger('categoria_id')->unsigned();
// ^^^^^^^^^^^^^
// You could also do:
// $table->unsignedBigInteger('categoria_id');
// ...
});
此外,要访问关系,您需要加载它。所以作为一个答案
为什么我不能得到categoria的财产
你可以利用:
这将为您提供预期的json:
{
"id": 1,
"categoria_id": 3,
"descricao": "Distinctio minus praesentium quos.",
"valor": 108,
"categoria": {
// ...
},
"created_at": "2020-02-17 17:49:36",
"updated_at": "2020-02-17 17:49:36"
}
您必须立即加载categoria属性才能获得它,如下所示:
public function index () {
return Entrada::with('categoria')->find(1);
}
文档中的更多信息您必须立即加载categoria属性才能获得它,如下所示:
public function index () {
return Entrada::with('categoria')->find(1);
}
文档中有更多信息@BrunoCosta很乐意帮忙。@BrunoCosta很乐意帮忙。