gpt4 book ai didi

php - 在 Eloquent 中使用连接

转载 作者:行者123 更新时间:2023-11-29 06:39:31 25 4
gpt4 key购买 nike

我是 Laravel 4 的初学者,我无法从模型中定义的连接表中检索数据。我尝试按照 Laravel 文档中的说明进行操作 herehere .

这是我所做的:我有一个模型 (car.php) 可以成功地从我的汽车表中检索数据:

class Car extends Eloquent{
public function parts(){
return $this->hasMany('CarParts');
}
}

这是我的 CarParts 模型 (car-parts.php):

class CarParts extends Eloquent{
protected $table = 'car_parts';
public function car(){
return $this->hasOne('Car');
}
}

我试过这些来获取连接表中的数据:

echo Car::find(1)->parts;
// also tried:
$cars = Car::find(1)->get();
echo $cars->parts;

但我收到此错误消息:Undefined property:Car::$parts

最佳答案

最好的方法是使用动态属性 (->parts),所以这应该适合你:

$car = Car::find(1);

echo $car->parts;

$car = Car::find(1);

foreach($car->parts as $part)
{
echo $part->name;
}

parts() 方法为您提供了一个查询对象,可用于过滤更多的零件:

$car = Car::find(1);

$parts = $car->parts()->where('model', '=', 'FORD')->get();

foreach($parts as $part)
{
echo $part->name;
}

此外,您可能必须将 CarParts 关系更改为:

$this->belongsTo('Car');

关于php - 在 Eloquent 中使用连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22309239/

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