首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    orm 系列 之 Eloquent演化历程1

    Eloquent Eloquent是laravel中的orm,采取的是active record的设计模式,里面的对象不仅包括领域逻辑,还包括了数据库操作,但是大家平时使用的时候可能没有探究eloquent...先看HasOne,即OneToOne的关系,看代码 public function hasOne($related, $foreignKey = null) { $foreignKey = $foreignKey..., $foreignKey); } 我们看到当调用Model的hasOne方法后,返回是一个HasOne,即Relation,当我们调用Relation的方法时,是怎么处理的呢?...假设我们有个User,Phone,然后User和Phone的关系是HasOne,在User声明上就会有 class User extends Model { /** * Get the...,接着调用HasOne->addEagerConstraints()和HasOne->initializeRelation(),具体的代码是: // class HasOne public function

    1.1K30

    3分钟短文:Laravel模型一对一一对多关系真的乱吗?

    引言 laravel模型不但提供了可供数据库操作的增删改查,还附加了很多功能,最关键的要数模型的关联关系。本文说一说简单的一对一,和一对多关系。用代码说话,让大家更直观地理解。...模型文件内创建关联方法: class Contact extends Model{ public function phoneNumber() { return $this->hasOne...如果这个外键不是 contacts_id,那就手动指定: return $this->hasOne(PhoneNumber::class, 'owner_id'); 使用 phone_numbers 表的...没错,laravel也的确是这样做的。...写在最后 本文通过常用的用户,通讯录,订单,手机号等模型数据,演示了laravel模型的一对一一对多 关联的使用方法。 Happy coding :-)

    2.1K30

    3分钟短文:说说Laravel模型关联关系最单纯的“一对一”

    [img] 所以,laravel模型提供了关联关系,本文就来梳理梳理那些用法。 代码时间 我们不要PPT似的念稿子,罗列出所有的关系模型,那样不直观也不是高效学习的方式。...namespace App; use Illuminate\Database\Eloquent\Model; class Profile extends Model {} 因为使用了 --migration 选项,laravel...User模型里添加如下声明: class User extends Model { public function profile() { return $this->hasOne...类似下面的写法,返回结果是不同的: $user = User::find($id); $user->profile; // 返回 Profile 对象 $user->profile(); // 返回 hasOne...unsigned(); $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); 写在最后 本文介绍了laravel

    2K31

    Sight——杀手级提升Laravel开发速度的组件现在开源了!

    今天,给大家推存一个Laravel的专用组件:Sight Laravel开发速度可以算是最快的了。但是,现在如果加上Sight,那么,你的开发速度会更加快。 Sight做了什么呢?...自从有了Sight,Laravel成了唯一支持Server Side的MVP模式的框架。 为什么要用Sight呢? 一、是加快开发速度。 二、国内的Phper都了解,大厂是禁止SQL联表三个表以上的。...虽然是纯数组操作,它一样也有innerJoin和outerJoin,并且,有hasOne,hasMany ...... 当然,还有更多的功能,这个你就要仔细看文档了。...Github 地址: https://github.com/BardoQi/Sight Sight——杀手级提升Laravel开发速度的组件现在开源了!赶紧FORK,赶紧STAR!

    79300

    Laravel框架_php laravel框架

    laravel框架 一、laravel简介 laravel是一套优雅简介的PHP开发框架,受欢迎程度非常之高,功能强大,工具齐全; https://www.jianshu.com/p/206592c78113...二、简单介绍 1、laravel是基于mvc模式的php框架,m——模型层,v——视图层,c——控制器层;以下为laravel框架的目录文件,框出来的文件目录将在后续中用到: 2、什么是MVC的开发思想...三、laravel目录结构整体分析 四、laravel路由 (一):简介 在laravel中,定义路由的地方在routes/web.php文件中。...在使用laravel前必须先定义路由,然后才能在浏览器中访问。routes文件夹中还有一个api.php,用于定义api路径。...laravel中请求类型包括:get、post、put、patch、delete。 1、基本路由 get请求: <?

    3.7K20

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

    首先,我们在 User 模型类中通过 hasOne 方法定义其与 UserProfile 的一对一关联: public function profile() { return $this->hasOne...你可能注意到了我们在定义关联关系时,仅仅指定了模型类名,并没有指定通过哪些数据表字段建立关联,这并不是说 Laravel 神通广大,能知过去未来之事,而是因为 Eloquent 对此做了默认的约定。...hasOne 方法的完整签名是: public function hasOne($related, $foreignKey = null, $localKey = null) 其中,第一个参数是关联模型的类名...为什么我们不需要指定 Laravel 就能完成这种关联呢,这是因为如果没有指定 $foreignKey,Eloquent 底层会通过如下方法去拼接: public function getForeignKey...和 localKey 默认获取逻辑也和 hasOne 完全一样,这里不再赘述。

    10K40
    领券