美文网首页
Laravel 模型基本操作

Laravel 模型基本操作

作者: 骑蚂蚁上高速_jun | 来源:发表于2020-10-05 22:21 被阅读0次

个人使用Laravel 模型操作数据库的规范步骤。

  1. 根据项目中数据源的不同,创建 不同的模型基类。[即一个模型基类对应一个数据源]。下面演示以默认数据源 mysql 为例。(可根据配置文件 /config/database.php 中的 "connections" 项配置多个mysql数据源)。
// 创建mysql源模型基类
namespace App\Model;

use Illuminate\Database\Eloquent\Model;
/**
 * mysql数据源模型基类
 */
class Base extends Model
{
    protected $connection = "mysql"; // 系统默认也是 mysql,可以不配置

    // 不使用框架默认的时间填充
    public $timestamps = false;
}

2.接下来在实际开发中,所有mysql 数据源的表模型都继承Base 模型。开发公司内部项目中,我不会定义项目的统一表前缀[即database.php配置文件中不会配置表前缀]。
建议根据业务模块的划分使用不同的前缀区分表。 比如: 用户表,部门表,角色表都属于系统模块,我会统一使用 sys_ 开头做前缀。
创建模型文件 User.php 表示sys_user 表

namespace App\Model\Sys;

use App\Model\Base;

class User extends Base
{
    protected $table = "sys_user"; // 对应系统的表名

    // 保护的属性,设置为空表示所有的字段属性都不保护,所有字段都可以通过 create 新增数据
    protected $guarded = []; // 这个属性,我一般都习惯带上,可以通过create方法快速保存数据到mysql
}

3.常见操作。 >更多操作参考 https://xueyuanjun.com/post/21547
表结构如图:

image.png
以下操作都是基于在 Dao 层调用
1.添加数据
$Model=User::query()->create([
            "name"=>"xxx",
            "email"=>"xxxx@waimaolang.cn",
            "department_id"=>2,
            "remark"=>"xxxxxx",
        ]);
return $Model->id; // 得到自增主键
2.查询是否存在,存在则获取模型,不存在则创建并保存
 $Model = User::query()->firstOrCreate([
            "name"=>"黄华丰gghhh", // 查询条件
        ],[
            // 创建并保存的 $data
            "name"=>"黄华丰",
            "email"=>"huang@waimaolang.cn",
            "department_id"=>2,
            "remark"=>"xxxxxx",
        ]);
3.根据条件查询,存在则更新模型对象,不存在就创建保存模型并返回模型实例
$Model = User::query()->updateOrCreate([
            "id"=>1,// 条件
        ],[
            "name"=>"haha",
            "email"=>"huang@waimaolang.cn",
            "department_id"=>5,
            "remark"=>"xxxxxx",
        ]);

4. 更新数据
$r = User::query()->where(["id"=>1])->update([
            "name"=>"陈圆圆"
        ]);
5. 删除数据
$r = User::query()->where(["id"=>100])->delete();

相关文章

网友评论

      本文标题:Laravel 模型基本操作

      本文链接:https://www.haomeiwen.com/subject/fmxzuktx.html