php - 如何定义在 Laravel 数据库迁移中工作的非 id 主键?

标签 php sql laravel orm

我有一个表格,用于保存自定义日历的日期。所以我不需要id pk。那么如何使用 Eloquent(Laravel 的 ORM)将日期设置为主键。我已经阅读了 Laravel 的文档,但我找不到这样做的方法。是否可以?如何?如果没有,我将使用无用的 id 字段。

我已经尝试过这样的事情:

    public function up()
{
    Schema::create('t_calendarios', function (Blueprint $table) {
        $table->primary()->date('fecLab');
    });
}

最佳答案

首先,您需要添加“fecLab”列,它应该是唯一的:

$table->date('fecLab')->unique();

然后,您可以像这样设置主键:

$table->primary('fecLab');  //Add a primary key.

如果你想与其他键复合:

$table->primary(['fecLab', 'id']);  //Add composite keys.

引用号:Creating Index (Laravel Doc)

关于php - 如何定义在 Laravel 数据库迁移中工作的非 id 主键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36538873/

相关文章:

java - Hibernate 问题,一个以对象为键、以整数为值的映射

php - sync or updateExistingPivot with Laravel——如何根据第三个标准进行填充

php - Laravel faker 从名字生成性别

javascript - 尝试在 Laravel 5.4 框架中使用制表符将值传递给数据表

php - 在 JavaScript onmouseover 中转义 PHP 代码

sql - 根据日历表中的下一个工作日进行选择

php - ajax POST请求的Laravel csrf token 不匹配

sql - 选择每个(Col1,Col2)的最大值

php - 创建php用户注册页面,出现SQL错误

php - 我的 PHP/MySQL 语法错误在哪里?