【发布时间】:2021-03-17 15:03:58
【问题描述】:
我的数据库中有 2 个表并试图从中获取数据,这是我的数据库架构:
--------------- ---------------
| pg | | phone |
=============== ===============
| id | | id |
| name | | telp |
| address | | pg_id |
=============== ===============
电话表属于pg,我有这样的pg模型:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Pg extends Model{
protected $table = "pg";
public function telepon(){
return $this->hasOne('App\Models\Phone', 'pg_id', 'id');
}
}
这是我的手机型号:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Phone extends Model{
protected $table = "phone";
public function pg(){
return $this->belongsTo('App\Models\Pg', 'pg_id', 'id');
}
}
这是我在 Controller 中获取数据的代码:
$pg = Pg::find(1);
return view('inpform', ['data' => $pg]);
在我的视图中,我转储了数据,但结果为 NULL,如果我将代码更改为:
$pg = Pg::all();
return view('inpform', ['data' => $pg]);
它只显示表 pg 中的数据,我想要它们之间的关系。
【问题讨论】:
-
$pg = Pg::with('telepon')->find(1);或$pg = Pg::with('telepon')->get();laravel.com/docs/8.x/eloquent-relationships#eager-loading -
它的作品,谢谢,但我可以在 laravel 8.* 下使用它吗?
-
这是laravel从一开始的核心功能。
-
谢谢你它的工作希望你把这个作为答案发布,这样我就可以把它设置为正确的答案。
标签: php laravel eloquent eloquent-relationship