Laravel 集合的使用 & 集合的常用方法 & 模型的数据集合 ⑩

这篇具有很好参考价值的文章主要介绍了Laravel 集合的使用 & 集合的常用方法 & 模型的数据集合 ⑩。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Laravel 集合的使用 & 集合的常用方法 & 模型的数据集合 ⑩,LARAVEL,laravel,php,原力计划

@作者 : SYFStrive

 
Laravel 集合的使用 & 集合的常用方法 & 模型的数据集合 ⑩,LARAVEL,laravel,php,原力计划

@博客首页 : HomePage

📜: THINK PHP

📌:个人社区(欢迎大佬们加入) 👉:社区链接🔗

📌:觉得文章不错可以点点关注 👉:专栏连接🔗


Laravel 集合的使用 & 集合的常用方法 & 模型的数据集合 ⑩,LARAVEL,laravel,php,原力计划
Laravel 集合的使用 & 集合的常用方法 & 模型的数据集合 ⑩,LARAVEL,laravel,php,原力计划

👉 VUEJS(🔥)
👉 MYSQL(🔥)
👉 微信小程序(🔥)
👉 PHPMYSQL(🔥)
👉 UNIAPP开发(🔥)

                    ⡖⠒⠒⠒⠤⢄⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸   ⠀⠀⠀⡼⠀⠀⠀⠀ ⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢶⣲⡴⣗⣲⡦⢤⡏⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠋⠉⠉⠓⠛⠿⢷⣶⣦⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠇⠀⠀⠀⠀⠀⠀⠘⡇⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡞⠀⠀⠀⠀⠀⠀⠀⢰⠇⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⡴⠊⠉⠳⡄⠀⢀⣀⣀⡀⠀⣸⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢸⠃⠀⠰⠆⣿⡞⠉⠀⠀⠉⠲⡏⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠈⢧⡀⣀⡴⠛⡇⠀⠈⠃⠀⠀⡗⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣱⠃⡴⠙⠢⠤⣀⠤⡾⠁⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢀⡇⣇⡼⠁⠀⠀⠀⠀⢰⠃⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⣸⢠⣉⣀⡴⠙⠀⠀⠀⣼⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⡏⠀⠈⠁⠀⠀⠀⠀⢀⡇⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢸⠃⠀⠀⠀⠀⠀⠀⠀⡼⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢸⠀⠀⠀⠀⠀⠀⠀⣰⠃⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣀⠤⠚⣶⡀⢠⠄⡰⠃⣠⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⢀⣠⠔⣋⣷⣠⡞⠀⠉⠙⠛⠋⢩⡀⠈⠳⣄⠀⠀⠀⠀⠀⠀⠀
⠀⡏⢴⠋⠁⠀⣸⠁⠀⠀⠀⠀⠀ ⠀⣹⢦⣶⡛⠳⣄⠀⠀⠀⠀⠀
⠀⠙⣌⠳⣄⠀⡇   不能   ⡏⠀⠀  ⠈⠳⡌⣦⠀⠀⠀⠀
⠀⠀⠈⢳⣈⣻⡇   白嫖 ⢰⣇⣀⡠⠴⢊⡡⠋⠀⠀⠀⠀
⠀⠀⠀⠀⠳⢿⡇⠀⠀⠀⠀⠀⠀⢸⣻⣶⡶⠊⠁⠀⠀
⠀⠀⠀⠀⠀⢠⠟⠙⠓⠒⠒⠒⠒⢾⡛⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⣠⠏⠀⣸⠏⠉⠉⠳⣄⠀⠙⢆⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⡰⠃⠀⡴⠃⠀⠀⠀⠀⠈⢦⡀⠈⠳⡄⠀⠀⠀⠀⠀⠀⠀
⠀⠀⣸⠳⣤⠎⠀⠀⠀⠀⠀⠀⠀⠀⠙⢄⡤⢯⡀⠀⠀⠀⠀⠀⠀
⠀⠐⡇⠸⡅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⡆⢳⠀⠀⠀⠀⠀⠀
⠀⠀⠹⡄⠹⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣇⠸⡆⠀⠀⠀⠀⠀
⠀⠀⠀⠹⡄⢳⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⡀⣧⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢹⡤⠳⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣷⠚⣆⠀⠀⠀⠀
⠀⠀⠀⡠⠊⠉⠉⢹⡀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡎⠉⠀⠙⢦⡀⠀
⠀⠀⠾⠤⠤⠶⠒⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⠒⠲⠤⠽   

提示:以下是本篇文章正文内容

PHP LARAVEL 简介

  • Laravel是一种流行的开源PHP Web应用程序框架,由Taylor Otwell在2011年创建并发布。它提供了一个简洁优雅的语法和丰富的功能集,旨在使Web开发过程更快速、简单和愉悦。
  1. MVC架构模式:Laravel采用了MVC(Model-View-Controller)架构模,将应用程序的逻辑分为不同的层,提高了代码的可维护性和可测试性。

  2. 简洁的语法和表达力:Laravel框架支持具有简洁而表达力的语法,使得编写清晰、易读、易维护的代码成为可能。

  3. 路由系统:它提供了一个强大且灵活的路由系统,通过简单的配置和代码即可定义Web应用程序的路由规则,实现URL到控制器的映射。

  4. 数据库抽象层:Laravel提供了一个简便的数据库抽象层,支持多种数据库系统,并通过Eloquent ORM提供了一种优雅的方法来与数据库进行交互。

  5. 权限和认证系统:Laravel提供了内置的身份验证和授权功能,使得实现用户身份验证、访问控制和权限管理变得简单和便捷。

  6. 缓存系统:Laravel支持多种缓存后端,包括文件、数据库、Memcached和Redis等,让你可以轻松地实现缓存数据,提升应用程序的性能。

  7. 强大的扩展性:Laravel通过Composer和Packagist等工具提供了丰富的扩展包生态系统,可以快速集成各种功能组件和第三方库,加快开发进程。

  8. 测试支持:Laravel鼓励编写和运行测试,提供了一套丰富的测试工具和断言,帮助开发者确保代码的质量和可靠性。

  • 总的来说,Laravel框架以其易用性、优雅的语法、丰富的功能和强大的扩展性受到了广大开发者的喜爱。它提供了

PHP LARAVEL 集合的使用

   创建集合 & 简单使用

  1. 什么是集合?👉 它是一种更具读取性和处理能力的数组封装;
  2. 比如,我们从数据库得到的数据列表,它就是一种集合;
  3. 数据集合,提供了大量的方法方便我们进行各种操作;
  4. 除了数据库对象返回的数据集合之外,我们还可以自行创建数据集合;
//创建一个数据集合
$collection = collect(['张三', '李四', '王五', null,null]);
//使用 dd 查看它的类型
dd($collection);
//直接 return 可以返回
return $collection;
  1. 数据集合提供了大概有100多个处理数据集合的方法,可链式调用;
  2. 常见的集合方法
//以底层数组形式输出
return $collection->all();
//map 方法,类似访问器,可修改输出
return $collection->map(function ($value, $key) {
    return $key . '[' . $value . ']';
});
//支持链式,reject 移出非 true 的值
return $collection->reject(function ($value, $key) {
    return $value === null;
})->map(function ($value, $key) {
    return $key . '[' . $value . ']';
});
//filter 筛选为 true 的值,和 reject 相反
return $collection->filter(function ($value, $key) {
    return $value === null;
});

//search 找到后返回 key,找不到返回 false
return $collection->search('王五');
//集合的分割
return $collection->chunk(2);
//迭代输出
$collection->each(function ($item, $key) {
    echo $item;
});
  1. 自定义方法,比如说所有英文大写;
$collection = collect(['Mr.Zhang', '李四', '王五', null]);
Collection::macro('toUpper', function () {
    return $this->map(function ($value) {
        return strtoupper($value);
    });
});
return $collection->toUpper();

PHP LARAVEL 集合的常用方法

   常用方法

  1. all()方法,转换为属性形式输出,使用 dd 方法看类型;
$collection = collect([1, 2, 2, 3, 4, 4, 4]);
dd($collection->all());
PS$collection->dd()方法可以以 dd()模式输出,还有 dump()模式;
  1. avg()方法返回平均值;
//返回平均值
$collection = collect([1, 2, 3, 4]);
return $collection->avg();
//返回分组平均值
$collection = collect([['男'=>1], ['女'=>1], ['男'=>3]]);
return $collection->avg('男');
  1. count()方法返回集合总数;
return $collection->count();
PS:相关的还有 sum()min()max()等统计;
  1. countBy()方法返回数值出现的次数或回调函数指定值出现的次数;
//值出现的次数
$collection = collect([1, 2, 2, 3, 4, 4, 4]);
return $collection->countBy();
//回调搜索相同指定片段的值的次数
$collection = collect(['xiaoxin@163.com', 'yihu@163.com', 'xiaoying@qq.com']);
return $collection->countBy(function ($value) {
return substr(strrchr($value, '@'), 1);
});
PS:相关的还有 groupBy()keyBy()方法;
  1. diff()方法返回集合数组之间不相同的部分,组合新的集合;
//diff 返回两个集合中不相同的
$collection = collect([1, 2, 3, 4, 5]);
return $collection->diff([3]);
PS:其中还有 diffAssoc()diffKeys()派生方法;
  1. duplicates()返回重复的值;
$collection = collect([1, 2, 2, 3, 4, 5, 5, 6]);
return $collection->duplicates(); //严格派生方法:duplicatesStrict()
  1. first()返回成立后的第一个值
//返回判断成立的第一条数值
$collection = collect([1, 2, 3, 4]);
return $collection->first(function ($value) {
return $value > 2;
});
PS:相关的还有 every()except()only()firstWhere()last()等方法;
  1. flatten()将多维数组转换为一维;
$collection = collect(['name'=>'Mr.Lee','details'=>['gender'=>'男', 'age'=>100]]);
return $collection->flatten();
  1. get()通过键名找值;
$collection = collect(['name'=>'Mr.Lee', 'gender'=>'男']);
return $collection->get('name');
PS:相关的还有 pluck()等;
  1. has()判断集合中是否存在指定键
return $collection->has('name');
  1. pop()移出集合中最后一个值;
$collection = collect([1, 2, 3, 4, 5]);
//$collection->pop();
return $collection;
PS:相关的还有 pull()push()put()方法;
  1. slice()返回指定值后续的集合;
$collection = collect([1, 2, 3, 4, 5]);
return $collection->slice(3);
PS:相关的还有 splice()等方法;
  1. sort()返回指定值后续的集合;
$collection = collect([3, 1 , 5, 2, 7]);
return $collection->sort()->values(); //需要配合 values()方法
PS:相关的有 sortBy()sortByDesc()sortKeys()等;
  1. where()系列方法,和数据库条件一样;
$collection = collect([
	['name'=>'Mr.Lee', 'gender'=>'男'],
	['name'=>'Miss.Zhang', 'gender'=>'女']
]);
return $collection->where('name', 'Mr.Lee');

PHP LARAVEL 模型的数据集合

   模型数据集合

  1. 数据集合,就是已经将模型方法 get() 获取到的数据再进行处理;
  2. 比如:map()方法,通过它可以实现类似访问器一样对字段进行处理的效果;
$users = User::get();
//使用集合方法 map 可以对输出的字段进行过滤
$women = $users->map(function ($user) {
	$user->email = strtoupper($user->email);
	return $user;
});
return [$women];
PS:数据集合支持连缀操作,和数据库连缀一样;
  1. 使用 reject()方法,可以获取条件之外的数据内容;
$women = $users->reject(function ($user) {
	return $user->gender != '女';
})->map(function ($user) {
	return $user;
});
  1. 下面列出常用的集合方法列表:
//判断集合中是否包含指定的模型实例
return $users->contains(19);
return $users->contains(User::find(19));
//返回不在集合中的所有模型
return $users->diff(User::whereIn('id', [19,20,21])->get());
//返回给定主键外的所有模型
return $users->except([19,20,21]);
//集合也有 find 方法
return $users->find(19);
//返回集合的数量
return $users->count();
//返回所有模型的主键
return $users->modelKeys();
//返回主键的所有模型
return $users->only([19,20,21]);
//返回集合中的唯一模型
return $users->unique();

最后

以上是个人学习 THINKPHP 的相关知识点,一点一滴的记录了下来,有问题请评论区指正,共同进步,这才是我写文章的原因之,如果这篇文章对您有帮助请三连支持一波文章来源地址https://www.toymoban.com/news/detail-691335.html

到了这里,关于Laravel 集合的使用 & 集合的常用方法 & 模型的数据集合 ⑩的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Laravel 使用rdkafka_laravel详细教程(实操避坑)

    首先要看版本兼容问题,我的是Laravel5.6,PHP是7.3.13,所以需要下载兼容此的rdkafka,去 Packagist 搜索 kafka ,我用的是 enqueue/rdkafka选择里面0.10.5版本, 在 Laravel 项目中,通过 Composer 安装  enqueue/rdkafka  扩展包。在项目根目录下的  composer.json  文件中,添加以下依赖项: 也可

    2024年01月25日
    浏览(50)
  • Laravel框架修改默认路由的方法

    Laravel框架默认提供了几个路由,如:GET、POST、PUT、DELETE等,这些都是针对不同的HTTP请求方法定义的。如果我们想要修改默认的路由,首先需要建立自定义路由。 新建一个名为routes/custom.php的文件,此文件用于定义自己的路由规则,然后将该文件引入到routes/web.php中,如下代

    2024年01月24日
    浏览(48)
  • laravel如何使用websocket

    WebSocket是一种在单个TCP连接上进行全双工通信的协议。它使得浏览器和服务器之间的实时通信变得更加容易。与HTTP请求不同,WebSocket连接是持久的,这意味着一旦建立连接,客户端和服务器之间的通信将一直保持打开状态,直到其中一方关闭连接。 Laravel是一个流行的PHP框架

    2024年02月08日
    浏览(67)
  • laravel使用elasticsearch

    laravel使用elasticsearch laravel 中安装扩展包 composer安装elasticsearch扩展包 Elasticsearch 官方提供了 Composer 包,在引入时需要注意要指定版本,因为不同版本的 Elasticsearch 的 API 略有不同,因为我用的是 7.12.x,因此需使用 ~7.12.x 来指定包版本。 laravel 配置 es config/database.php .env 配置

    2024年01月16日
    浏览(52)
  • Laravel 框架中队列的使用

    Laravel 框架内置了强大的队列系统,用于处理异步任务、提高系统性能等。队列可以让任务异步执行,而不会阻塞当前进程,可以提高系统的处理能力。 Laravel 的队列系统支持多种驱动,如 Redis、Beanstalkd、SQS 等,可以根据自己的需求选择合适的驱动。 Laravel 框架已经内置了队

    2024年01月22日
    浏览(54)
  • laravel 的SQL使用正则匹配

    案例场景 精准正则匹配 查询结果 代码如下 字符 “^” 匹配以特定字符或者字符串开头的文本 name 字段值包含数字以外的字符的记录

    2024年02月16日
    浏览(39)
  • PHP实践:Laravel中事件使用讲解

    🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 🏆本文已收录于PHP专栏:PHP面试专区,PHP进阶实战教程。。 🎉欢迎 👍点

    2024年02月22日
    浏览(77)
  • PHP的Laravel的数据库迁移

    在终端输入以下代码 php artisan migrate 我的报错啦!!!!! 数据库里面只有两张表,实际上应该有四张的!!! 反正表已经迁移完成了,就把迁移完成的表的内容注释掉,接着执行php artisan migrate,得到下一个表的内容。 然后依次类推直至所有表都创建完成!!! 当然啦!

    2024年02月04日
    浏览(59)
  • Laravel 10.x 里如何使用ffmpeg

    原理上很简单,就是使用命令行去调用ffmpeg,然后分析一下输出是不是有错误。 安装 首先安装 symfony/process,主要用于包装一下,用来代替 exec, passthru, shell_exec and system 。 要注意 Laravel 10.x 是锁定 symfony 6.4的,所以无法安装最新的 7.0 ,但用起来也没什么问题。 创建服务

    2024年01月23日
    浏览(49)
  • Laravel 后台管理 Dcat Admin 使用记录

    安装文档地址 框架版本 Laravel 8.* 修改 admin.php 文件 英文改为中文 修改 app.php 文件 表格字段 js 操作 路由 请求方法 链接 1. 字数超出隐藏 2. 链接新窗口打开 功能 - 默认值, 新增操作, 编辑操作 index 方法自动覆盖 grid 方法 将 body 中替换为 表单页面 动态获取选项列表

    2024年02月05日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包