gpt4 book ai didi

php - Laravel 关系错误:Undefined property: Illuminate\Database\Eloquent\Collection::$id on line 1

转载 作者:可可西里 更新时间:2023-11-01 08:09:56 25 4
gpt4 key购买 nike

我有两个模型 CompanyEmployee,在 MySQL 中有相应的表,companiesemployees

我定义了这些多对一关系:

Company 模型中:

 public function employees(){
return $this->hasMany('App\Employee','company');
}

Employee 模型中:

public function company(){
return $this->belongsTo('App\Company','company');
}
上述方法中的

companyemployees 表中存在的无符号整数外键。

在 tinker 中,我尝试了 $company->employees;,它返回所选公司中所有员工的列表。但是,当我执行 $company->employees->id 以仅获取所有员工的 ID 而不是其他行时,它给了我错误:

PHP error:  Undefined property: Illuminate\Database\Eloquent\Collection::$id on line 1

最佳答案

嗯,$company->employees 返回一个集合,->id 不是集合中的属性,这就是为什么会出现错误。

如果你想检索一个包含所有员工 ID 的数组,你可以这样做:

$company->employees()->lists('id');

如果你正在阅读这篇文章并使用 laravel ^5.3.* 那么答案将是:

$company->employees()->pluck('id');

这将返回一个包含所有 id 的集合,如果您希望它是一个数组,您可以在它后面链接 ->toArray()

关于php - Laravel 关系错误:Undefined property: Illuminate\Database\Eloquent\Collection::$id on line 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40022929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com