关联查询-一对一
info
hasOne(关联模型类名,关联模型外键,当前模型外键)
一、模型中定义规则
示例:Student.php
<?php
namespace app\models;
use core\base\Model;
class Student extends Model
{
protected $tables = 'student';
public function __construct()
{
parent::__construct($this->tables);
}
public function hasOneClassroom()
{
return $this->hasOne(Classroom::class, 'id', 'cid');
}
}
示例:Classroom.php
<?php
namespace app\models;
use core\base\Model;
class Classroom extends Model
{
protected $tables = 'classroom';
public function __construct()
{
parent::__construct($this->tables);
}
}
二、控制器中调用
源数据:
2.1 方法一
示例
$class = Student::find(1);
$data = $class->hasOneClassroom();
pd($data);
2.2 方法二
示例
$res = Student::with('hasOneClassroom')
->field('student.id as sid,cname,classroom.id as cid,sname')
->where('student.id','=',1)
->find();
pd($res);