首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Laravel源码分析之模型关联

string $localKey * @return \Illuminate\Database\Eloquent\Relations\HasMany */ public function hasMany...\Database\Eloquent\Relations\HasMany 类的实例,Eloquent封装了一组类来处理各种关联,其中 HasMany是继承自 HasOneOrMany抽象类, 这也正印证了上面说的一对一是一种特殊的一对多关联...\Database\Eloquent\Relations\BelongsToMany */ public function belongsToMany($related, $table = null,...\Database\Eloquent\Relations\hasManyThrough类的实例,实例化 hasManyThrough时的操作跟实例化 BelongsToMany时做的操作非常类似。...属性中接下来用到了这些预加载的关联模型时都是从 $relations属性中取出来的不会再去做数据库查询 class HasMany extends ... { //初始化model的relations

9.5K10
您找到你想要的搜索结果了吗?
是的
没有找到

基于独立的 Laravel Eloquent 组件编写 ORM 模型类

在我们这里的博客应用项目中,可以通过 Composer 在根目录下运行如下命令下载对应的 Eloquent ORM 扩展包: composer require illuminate/database 为了能够正常使用...Eloquent 提供的模型事件功能,还可以下载 Laravel 提供的独立事件扩展包: composer require illuminate/events 上述扩展包下载完成后,就可以在博客项目根目录下的...进入 vendor/illuminate/database,可以通过阅读 README.md 文件查看如何使用独立的 Eloquent ORM 组件,接下来,我们将参照这个文档介绍来编写博客项目的模型类实现...php namespace App\Model; use Illuminate\Database\Eloquent\Model; class Post extends Model { public...php namespace App\Model; use Illuminate\Database\Eloquent\Model; class Album extends Model { public

1.9K10

Laravel Eloquent 模型关联关系详解(上)

你可能注意到了我们在定义关联关系时,仅仅指定了模型类名,并没有指定通过哪些数据表字段建立关联,这并不是说 Laravel 神通广大,能知过去未来之事,而是因为 Eloquent 对此做了默认的约定。...为什么我们不需要指定 Laravel 就能完成这种关联呢,这是因为如果没有指定 $foreignKey,Eloquent 底层会通过如下方法去拼接: public function getForeignKey...还提供了方法允许你获取中间表的字段,你仔细看查询结果字段,会发现 relations 字段中有一个 pivot 属性,中间表字段就存放在这个属性对象上: 我们在遍历返回结果的时候可以在循环中通过 $...\Database\Eloquent\Relations\Pivot,Pivot 也是 Eloquent Model 类的子类,只不过为中间表操作定义了很多方法和属性,比如我们创建一个自定义的中间表模型类...PostTag: namespace App; use Illuminate\Database\Eloquent\Relations\Pivot; class PostTag extends Pivot

9.8K40

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券