Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 拉威尔的一对一关系_Php_Laravel_Laravel 5_Laravel 5.1 - Fatal编程技术网

Php 拉威尔的一对一关系

Php 拉威尔的一对一关系,php,laravel,laravel-5,laravel-5.1,Php,Laravel,Laravel 5,Laravel 5.1,工作模式 class Job_Model extends Model { protected $table = "tbljobs"; protected $primaryKey = "JobID"; public $timestamps = false; public function OrderType() { return $this->hasOne('\App\Models\OrderType_Model', "OrderTy

工作模式

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;
}
订单类型模型

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()结果


我想你的问题是如何在屏幕上看到转储的数据?像这样试试

$Jobs = \App\Models\Job_Model::with("OrderType")->get();

foreach ($Jobs as $job) {
    var_dump($job->toArray());
}
您需要
has()
with()
。Has仅返回具有订单类型的作业,并且实际将订单类型注入到每个作业中

 $Jobs = \App\Models\Job_Model::has("OrderType")->with("OrderType")->get();
编辑:如果您的外键实际位于Jobs表中,而不是Order type表中,则需要一个属于关系

hasOne()
假定外键在另一个表中


belongsTo()
假定外键在此表中

您可以添加()该查询的结果并将其粘贴到此处吗?您可以使用(“OrderType”)->get()->toSql()添加
\App\Models\Job\u Model::的结果吗
?在
OrderType_Model
中是否有任何记录?
orderTypeID
orderTypeID
是两个不同的字符串,用于laravelTry侦听查询事件
event::listen('light.query',function($query){var\u dump($query);})
并查看查询是否正确。您可以将其放在routes.php中进行测试。