我有以下模型:
class User extends Model {
public function addresses() {
return $this->hasMany('Addresses');
}
public function billAddress() {
return $this->addresses()->where('id','=', $this->idBill);
}
}
以下查询将导致一个空集合。
\App\User::has('billAddress')->get();
但是,用户的任何实例都有一个billAddress
。
在hasMany关系中是否完全不可能使用$this->attribute
?还是有其他方法可以实现这一目标?
答案 0 :(得分:1)
\App\User::has('billAddress')->get();
导致一个空集合,因为\App\User
不是一个特定的用户,而是实际的 User Model 。
假设您的数据库中已有一个用户,并且在用户模型中定义了$idBill
,则可以得到如下的“ billAdresses”关系:
$user = User::find(1); // just an example, but it has to be a User Model
$billAddresses = $user->billAddress->get(); // the result your are looking for
foreach ($billAdresses as $billAddress) {
// your code
}