【问题标题】:Manipulating database data with Laravel without using migrations使用 Laravel 操作数据库数据而不使用迁移
【发布时间】:2019-12-03 01:43:06
【问题描述】:

我有几个通过 SQL 文件导入的具有特殊名称的表(这是必需的,用于学校,所有表都必须在实际表名之前有我们的首字母缩写),我已经看到大多数表通过Laravel 是通过迁移创建的,我想将 Eloquent 用于 CRUD 但我不想使用迁移,它的方法是什么?我应该调查什么才能做到这一点?我有点困惑。

【问题讨论】:

    标签: php sql laravel


    【解决方案1】:

    在 laravel 迁移中,您需要轻松创建数据库。如果你已经创建了数据库,你可以像这样使用 Eloquent 模型

    <?php
    
    namespace App;
    
    use Illuminate\Database\Eloquent\Model;
    
    class School extends Model
    {
        /**
         * The table associated with the model.
         *
         * @var string
         */
        protected $table = 'school';
    }
    

    https://laravel.com/docs/6.x/eloquent#eloquent-model-conventions

    【讨论】:

    • 如果我想使用 eloquent 进行插入,我是否必须声明与我的列同名的填充项?喜欢:protected $fillable = ['my1', 'my2'];
    • 如果您想使用create()update() 方法,那么可以
    • 其他情况可以使用$model = new Model(); $model-&gt;my1 = 'val1'; $model-&gt;my2 = 'val2'; $model-&gt;save();
    【解决方案2】:

    在您的模型中,您可以为该模型定义表格。例如,如果您有一个名为 a_school 的表,则可以在 A_SchoolModel.php 中定义该表,如下所示。

    protected $table = 'a_school';
    

    另外如果app的数据库引擎是InnoDB,进入config->database设置mysql =&gt; [ 'engine' =&gt; 'innoDB',]

    【讨论】:

      猜你喜欢
      • 2014-06-05
      • 2016-12-09
      • 2018-04-06
      • 2016-02-28
      • 1970-01-01
      • 1970-01-01
      • 2018-06-20
      • 2016-05-06
      • 2019-01-19
      相关资源
      最近更新 更多