话说为什么 Elqument 模型名和默认表名要弄成单复数这么麻烦呢?

1.我们平常命名数据库表名也没有统一地加复数后缀的习惯吧?这样设置有什么好处呢?
2.如果我想去掉这个转换,应该怎么改源码呢?(找了半天没找到源码对应的位置。。。)

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

重写模型的 getTable 方法 应该 就可以了,,,

5年前 评论
poker_face (楼主) 5年前
讨论数量: 4

重写模型的 getTable 方法 应该 就可以了,,,

5年前 评论
poker_face (楼主) 5年前
  1. 我们平常命名数据库表名也没有统一地加复数后缀的习惯吧?这样设置有什么好处呢?

可以把数据表看作 Eloquent 模型的集合,每条数据都是 Eloquent 模型的一个实例,所有实例的集合就构成了这张表的全部数据。
复数也算是更加语义化的表述吧。Eloquent 模型简介

  1. 如果我想去掉这个转换,应该怎么改源码呢?(找了半天没找到源码对应的位置。。。)

这个只能说多看文档。Eloquent 模型约定

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Flight extends Model
{
    /**
     * 与模型关联的表名
     *
     * @var string
     */
    protected $table = 'my_flights';
}
5年前 评论
poker_face (楼主) 5年前

@chen05_20 如果之前用的 TP5 之后的版本,模型的使用方式是有相似之处的。 TP6.0 模型设置

<?php
namespace app\model;

use think\Model;

class User extends Model
{
    // 设置当前模型对应的完整数据表名称
    protected $table = 'think_user';
}
5年前 评论
poker_face (楼主) 5年前

至于单复数,全看 作者爱好。。
避免一些英文复数并不是简单地在后缀加个 sies 等之类的,怕有人不会) ,建议建表统一用单数形式

5年前 评论
poker_face (楼主) 5年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!