gpt4 book ai didi

mysql - 认识laravel的关系

转载 作者:行者123 更新时间:2023-11-29 00:11:55 24 4
gpt4 key购买 nike

我有 3 个链接表,我对 Eloquent 关系感到很迷茫。

我需要帮助来识别我的关系类型。我使用 Laravel 4.1

收购表:

#id
date

传感器表:

#id
name

acquisition_sensor 表:

#id
acquisition_id
sensor_id
depth
value

确实1次收购可能有很多深度和不同的值(value)。

我寻找一种方法来链接我的表格并使用像这样的传感器模型:

Sensor::find(1)->acquisitions->count();

Sensor::find(1)->sensor_acquisition->get();

我实际上是用查询生成器来做的,但我认为有一种方法可以通过 eloquent 更有效地使用它!

最佳答案

您将要在 Eloquent 模型中建立多对多关系。

Sensor.php(模型)

public function acquisitions()
{
return $this->belongsToMany('Acquisition', 'acquisition_sensor', 'acquisition_id', 'sensor_id');
}

Acquisition.php(模态)

public function sensors()
{
return $this->belongsToMany('Sensor', 'acquisition_sensor', 'acquisition_id', 'sensor_id');
}

您可以在这里阅读更多关于多对多 Eloquent 关系的信息,http://laravel.com/docs/eloquent#many-to-many


如果您想运行您在问题中描述的 Eloquent 查询,那么您可以这样做:

Sensor::find(1)->acquisitions()->count();

如果您要链接,请确保将 () 添加到 acquisitions 中。

关于mysql - 认识laravel的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24659089/

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