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

    跟我一起学Laravel-EloquentORM基础部分

    $primaryKey成员变量覆盖该字段名称,另外,Eloquent假设主键字段是自增的整数,如果你想用非自增的主键或者非数字的主键的话,必须指定模型中的public属性$incrementing为false...默认情况下,Eloquent期望表中存在created_at和updated_at两个字段,字段类型为timestamp,如果不希望这两个字段的话,设置$timestamps为false first(); 使用find方法也可以返回多个结果,以Collection对象的形式返回,参数为多个主键 $flights...,laravel会自动返回给用户一个404的响应结果,因此如果希望找不到的时候返回404,是可以直接使用该方法返回的 Route::get('/api/flights/{id}', function (...方法可以执行批量为模型的属性赋值的插入操作,该方法将会返回新插入的模型,在执行create方法之前,需要先在模型中指定fillable和guarded属性,用于防止不合法的属性赋值(例如避免用户传入的is_admin

    85220

    Laravel学习记录--Model

    ']; 数据库添加 Model::create(['表字段名'=>'值','字段名'=>'值']) 简单查询 详情访问laravel查询构造器 $model->where()->first()//单行查询...'表名'//指定操作表 model 默认主键为 id 如果修改默认主键在其类名设置属性 protected $primaryKey = '主键名'//指定主键 laravel默认添加数据库时,会 增加两个字段...create_at ,update_at 如不需要这两个字段,除在迁移文件删除之外 还需在model类设置属性 public $timestamps = false 查询全局作用域 app\Scope...user_id localKey:默认当前模型类的主键IDsecondLocalKey:默认中间模型类的主键ID 在Countrie模型中使用hasManyThrough方法并返回结果 public...null,Eloquent允许我们为这种空对象定义一个默认的类型,这个对象类型在定义关联时指定,通过withDefault()方法(这个方法好像在前面提到过) withDefault()如果不指定值默认返回

    13.6K20

    Laravel迁移数据库!

    M = Model,是模型层,是与数据库直接对接的那一层设计。我们都知道一切应用的基础,是数据库。数据库也是IT工业的珠穆朗玛峰,看当今天下,多少大中小微企业,哪个不是被数据库卡着脖子。...我们本期要使用laravel自带的迁移功能,在不操作任何数据库的条件下,完成基础的数据构建。 迁移文件 本文假设你已经正确地配置了环境变量文件,并且通过数据库配置项,系统已经可以正常连接到数据库了。...在项目文件里,不出意外你会在目录 database/migrations 下发现 2014_10_12_000000_create_users_table.php 文件, 这个是laravel自带的用于创建...比如主键默认的自增 id,还有用于记录创建时间 created_at 和 更新时间 updated_at,一个 timestamps() 方法就包含了, 只不过默认使用的是不直观的整型时间戳,如果要使用...其实laravel提供了齐备的命令行脚手架, 下面的方法都可以用于创建一个迁移文件: php artisan make:migration create_users_table php artisan

    98610

    Laravel迁移数据库!

    M = Model,是模型层,是与数据库直接对接的那一层设计。我们都知道一切应用的基础,是数据库。数据库也是IT工业的珠穆朗玛峰,看当今天下,多少大中小微企业,哪个不是被数据库卡着脖子。...我们本期要使用laravel自带的迁移功能,在不操作任何数据库的条件下,完成基础的数据构建。 迁移文件 本文假设你已经正确地配置了环境变量文件,并且通过数据库配置项,系统已经可以正常连接到数据库了。...在项目文件里,不出意外你会在目录 database/migrations 下发现 2014_10_12_000000_create_users_table.php 文件, 这个是laravel自带的用于创建...比如主键默认的自增 id,还有用于记录创建时间 created_at 和 更新时间 updated_at,一个 timestamps() 方法就包含了, 只不过默认使用的是不直观的整型时间戳,如果要使用...其实laravel提供了齐备的命令行脚手架, 下面的方法都可以用于创建一个迁移文件: php artisan make:migration create_users_table php artisan

    1.1K00

    Laravel 7 新特性-路由的趟坑之路(自定义键名以及作用域)

    安装 Laravel 7 composer create-project --prefer-dist laravel/laravel blog 生成用户认证脚手架 composer require laravel...DB_USERNAME=root DB_PASSWORD=root 注意:我这里使用 laradock ,所以 DB_HOST 为 mysql 新建 Post 文章数据表 php artisan make:model...我们的以前的 URL 可能是如下这样: http://laravel7.test/posts/posts/1 我们是通过主键 ID 来进行查找的。...http://laravel7.test/api/users/2/posts/2 然而实际情况确 并非如此。数据也是返回来了。 ? 文档上就是这样呀?就是改变路由文件而已,照着做了,发现并不可以。...php namespace App; use Illuminate\Database\Eloquent\Model; class Post extends Model { public function

    2.5K10

    【说站】laravel模型中的$casts属性转换

    按照以往的操作,在create的时候,先手动对特定的字段进行json_encode,然后再create; 而update的时候,先手动json_decode,修改完毕后再json_encode,然后再...update; 想想都觉得麻烦,虽然可以使用laravel模型事件,在对应的creating或updating的事件中去处理,但这也太大材小用了。...从 Illuminate\Database\Eloquent\Model 找到 Illuminate\Database\Eloquent\Concerns\HasAttributes ,会发现有很多属性可供配置..., 例如设置表名table,是否维护时间戳timestamps,可被批量赋值的属性fillable,主键字段名(默认id)primaryKey,主键字段类型(默认int)keyType,主键是否自增(默认是...可参考:laravel模型事件-update触发updating和updated的问题 先使用first或者find获取模型后再操作即可,当然,updateOrCreate也可以。。

    1.8K10

    laravel-nestedset:多级无限分类正确姿势

    laravel-nestedset是一个关系型数据库遍历树的larvel4-5的插件包 目录: Nested Sets Model简介 安装要求 安装 开始使用 迁移文件 插入节点 获取节点 删除节点...一致性检查和修复 作用域 Nested Sets Model简介 Nested Set Model 是一种实现有序树的高明的方法,它快速且不需要递归查询,例如不管树有多少层,你可以仅使用一条查询来获取某个节点下的所有的后代...Nested set model 及它中文翻译!...嵌套集合模型 安装要求 PHP>=5.4 laravel>=4.1 v4.3版本以后支持Laravel-5.5 v4版本支持Laravel-5.2、5.3、5.4 v3版本支持Laravel-5.1 v2...bar节点没有主键,就是不存在,它将会被创建。 $delete 代表是否删除数据库中已存在的但是$data中不存在的数据,默认为不删除。

    3.5K20

    laravel与thinkphp之间的区别与优缺点

    2、在实际开发中我们常常遇到这样的问题,就是开发地点不固定。 这就造成了我们需要频繁的更改数据库配置,给开发工作造成了麻烦。...但是在Laravel里也可以直接使用:php artisan make:model Models/GoodsModel -m 完成模型的创建和建表结构的创建(/database/migrations)。...Schema::create(‘goods', function (Blueprint $table) { $table->increments(‘id')->comment(‘商品主键'); $table...github中pull下项目后在数据表里直接修改,只需要用: php artisan migrate:refresh 9、ORM 在介绍建表时已经使用了创建模型的命令: php artisan make:model...$request->session()->all();//返回所有数据 session(‘k'=>$v);//写入session保存数据 以及闪存数据session()->flash()和保留特定数据

    5.7K20

    Laravel和Thinkphp有什么区别,哪个框架好用

    2、在实际开发中我们常常遇到这样的问题,就是开发地点不固定。 这就造成了我们需要频繁的更改数据库配置,给开发工作造成了麻烦。...但是在Laravel里也可以直接使用:php artisan make:model Models/GoodsModel -m 完成模型的创建和建表结构的创建(/database/migrations)。...Schema::create(‘goods’, function (Blueprint $table) { $table->increments(‘id’)->comment(‘商品主键’); $table...github中pull下项目后在数据表里直接修改,只需要用: php artisan migrate:refresh 9、ORM 在介绍建表时已经使用了创建模型的命令: php artisan make:model...$request->session()->all();//返回所有数据 session(‘k’=>$v);//写入session保存数据 以及闪存数据session()->flash()和保留特定数据

    6.1K20

    laravel5分钟完成登录注册

    以下均是在laravel5.2+版本进行操作,5.1部分适用,建议使用5.2新增许多方便的功能,5.1的多表验证极其麻烦,不推荐使用 在使用laravel框架前,我们需要安装composer 在安装好...composer以后,让我们建一个新的项目 不懂安装composer的可以看    http://www.phpcomposer.com/ composer create-project laravel.../laravel laravel 最后的参数是我们需要建立的项目名 laravel 框架默认带着一个model----User,直接放在app下(事实上我们往往会把model放在一个文件夹下,例如我们可以自己去新增...model在命令行下,php artisan Models/User,这样我们新增的model就放在了app/Models目录下了) 自带的还有两个数据库迁移文件,create_users_table,...request->all())); return redirect($this->redirectPath()); } 他做的工作就是先验证数据是否合法,如果不合法会返回错误信息

    18020

    【Laravel系列4.3】模型Eloquent ORM的使用(一)

    不不不,非常简单,我们给 Model 类设置一个变量用于指定表名就可以了。...在这里比较奇怪的是,我们在实例化和赋值的过程中没有给对象的主键 id 赋值,但是在 save() 之后,id 就有值了,而且是我们新插入的数据 id ,是不是很高大上。...删除功能直接调用的是静态的 destroy() 方法,它可以接收的参数是主键 id ,而且这个地方我们可以传递多个 id 以及其它不同的写法就能够实现批量删除,大家也可以自行查阅官方文档。...接下来,如果这个 key 是 Model 基类中的某个方法时,直接返回一个空的内容。注意,这里又用到了我们之前学习过的一个技巧,大家能看出来吗?...然后来到最后的 tap() 中,tap() 是一个 Laravel 框架中定义的全局函数,和 env() 函数在一起的,它的作用是将第一个参数当作第二个参数的参数传递给第二参数,并执行第二个参数后,将第一个参数再返回回来

    8.9K20

    Laravel5.2之Demo1——URL生成和存储

    学习主题 该demo主要涉及如下几个知识点: 创建数据库并迁移数据表 创建表单,学习Laravel的blade模板引擎 创建名为Link的模型Model 保存数据进入数据库 从数据库中获得...最后输入URL:http://yourhost/url,则blade模板页面如图所示: 3、创建名为Link的Model Laravel提供了一个非常好用的ORM(Object Relationship...这里注意下:如果不写table变量,laravel会自动根据model名字复数来找数据表,如这个model名字是link,那就找links表。...实际上,控制器也就是路由层route、视图层view与模型model层的黏合剂而已,一般写laravel代码流程也仅此而已:现在路由里写好路由,再建立好model(包括创建好migrations和model...,写好数据库连接配置、model配置、执行migrations表迁移),再在控制器controller里写好业务逻辑,返回response如blade视图view或直接一个"hello world"字符串吧

    24.1K31

    开源推荐 - 极简+高性能+分布式框架,可运行于多种环境(apachephp-fpm,swoole)

    所以你会发现one框架的 路由 和 ORM 有laravel的影子。但也有一些自己的特色,例如 ORM 支持自动化缓存(自动化读、写、刷新)保持与数据库同步,对外使用无感知。...hello world 安装 composer create-project lizhichao/one-app app cd app php App/swoole.php 复制代码 测试 curl http...'@httpSend'); }); 复制代码 orm 模型 定义模型 namespace App\Model; use One\Database\Mysql\Model; // 模型里面不需要指定主键...,框架会缓存数据库结构 // 自动匹配主键,自动过滤非表结构里的字段 class User extends Model { // 定义模型对应的表名 CONST TABLE = 'users'...'@aa' // ], // // 缓存 如果设置了 当以同样的参数调用时 会返回缓存信息 不会真正调用 单位:秒 // 'cache' => 10 //], function ()

    67730
    领券