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
在Laravel 5.6中使用hasOne检索数据_Laravel_Has One - Fatal编程技术网

在Laravel 5.6中使用hasOne检索数据

在Laravel 5.6中使用hasOne检索数据,laravel,has-one,Laravel,Has One,我想知道如何在拉威尔与hasOne检索数据? 例如,我有一个品牌表和一个产品表,其中有一列包含该品牌的id,因此,如果一个产品应该有一个品牌“hasOne”,那么这两个表之间的关系就非常完美,但是如果一个产品不一定有品牌,我该怎么办,然后,当添加产品时,存储在数据库中的品牌id为0,当我在这行上发出请求时,laravel会给我一个错误 谢谢您的回答。当产品没有品牌时,不要添加0,而是在数据库中输入NULL。 您需要更改数据库并将->nullable()添加到品牌id列中 而且,它看起来像是产品应

我想知道如何在拉威尔与hasOne检索数据? 例如,我有一个品牌表和一个产品表,其中有一列包含该品牌的id,因此,如果一个产品应该有一个品牌“hasOne”,那么这两个表之间的关系就非常完美,但是如果一个产品不一定有品牌,我该怎么办,然后,当添加产品时,存储在数据库中的品牌id为0,当我在这行上发出请求时,laravel会给我一个错误


谢谢您的回答。

当产品没有品牌时,不要添加0,而是在数据库中输入
NULL
。 您需要更改数据库并将
->nullable()
添加到
品牌id
列中

而且,它看起来像是
产品
应该
属于
品牌
而不是
hasOne

您的
产品
型号应如下所示:

class Product extends Model {

    public function brand() {
        return $this->belongsTo(Brand::class);
    }
}
以及您的
品牌

class Brand extends Model {

    public function products() {
        return $this->hasMany(Product::class);
    }
}
然后您可以执行以下操作:

if($product->brand) {
    // product has brand
}
else {
    // product does not have brand
}

当产品没有品牌时,不要添加0,而是在数据库中输入
NULL
。 您需要更改数据库并将
->nullable()
添加到
品牌id
列中

而且,它看起来像是
产品
应该
属于
品牌
而不是
hasOne

您的
产品
型号应如下所示:

class Product extends Model {

    public function brand() {
        return $this->belongsTo(Brand::class);
    }
}
以及您的
品牌

class Brand extends Model {

    public function products() {
        return $this->hasMany(Product::class);
    }
}
然后您可以执行以下操作:

if($product->brand) {
    // product has brand
}
else {
    // product does not have brand
}

product
表的迁移文件中,确保
brand\u id
列添加了
nullable()
。在
product
表的迁移文件中,确保
brand\u id
列添加了
nullable()
。谢谢!我已经找到了解决方案:我忘记了在将产品呈现给刀片之前测试产品是否有品牌。谢谢!我已经找到了解决方案:我忘记了在将产品呈现给刀片之前测试它是否有品牌。