工作模式
class Job_Model extends Model
{
protected $table = "tbljobs";
protected $primaryKey = "JobID";
public $timestamps = false;
public function OrderType()
{
return $this->hasOne('\App\Models\OrderType_Model', "OrderTypeID");
}
}
订单类型型号
class OrderType_Model extends Model
{
protected $table = "tblOrderType";
protected $primaryKey = "OrderTypeID";
public $timestamps = false;
}
查询
$Jobs = \App\Models\Job_Model::with("OrderType")->get();
我正在检索tbljobs
表中的所有记录。但是每条记录都没有显示订单类型表中的相关记录。
我错过了什么吗?
dd()结果
答案 0 :(得分:1)
您需要has()
和with()
。仅返回具有订单类型的作业,并实际将订单类型注入每个作业。
$Jobs = \App\Models\Job_Model::has("OrderType")->with("OrderType")->get();
编辑:如果你的外键实际上是在Jobs表中,而不是Order类型表,那么你想要一个属于关系。
hasOne()
假定外键在另一个表中。
belongsTo()
假定外键在此表中。
答案 1 :(得分:0)
我想您的问题是如何在屏幕上看到转储的数据?试试这个
$Jobs = \App\Models\Job_Model::with("OrderType")->get();
foreach ($Jobs as $job) {
var_dump($job->toArray());
}