如何在 Laravel 中使用带有变量的 create 方法

Posted

技术标签:

【中文标题】如何在 Laravel 中使用带有变量的 create 方法【英文标题】:How to use create method with variables in Laravel 【发布时间】:2021-01-26 23:07:42 【问题描述】:

如何在 laravel 中定义带有变量和模型的创建方法?像这样:

public function createMethodName($variable, $variable2)

   \App\ModelName::create([...]);

【问题讨论】:

您的具体问题是什么? create方法上层函数是什么?这就是确切的问题。 您不阅读有关如何创建模型的 laravel 文档吗? 【参考方案1】:

您只需在array 中插入传递的变量,例如:

// include model at the top of your file:
use \App\Models\ModelName;

public function createMethodName($variable1, $variable2)

    $my_stuff = ModelName::create([
       ‘something’ => $variable1,
       ‘something_else’ => $variable2,
    ]);

此外,如果您想使用create() 将值保存到表中,请不要忘记在您的模型中创建一些模型字段fillable(包含在数组中的字段)。检查有关此的参考: https://laravel.com/docs/8.x/eloquent#mass-assignment

简短更新:

也许我有点误解了你的问题,因为根据你的问题下的新 cmets,你可能首先想用 Schema::create() 方法创建一个 Table 越来越清楚(这完全是乐趣的不同部分)。参考: https://laravel.com/docs/8.x/migrations#creating-tables

然后,在您创建 Table 之后,您可以使用 artisan 创建一个 Model,例如: php artisan make:model ModelName 参考: https://laravel.com/docs/8.x/eloquent#defining-models

然后您可以在您的 Controller 中使用ModelName::create() 方法,正如我在上面给出的那样,将您的 data 保存到您的表中。所以如果是这种情况,你应该多研究一下这些步骤。

【讨论】:

非常感谢佐莉。我会试试这个解决方案。 嗨@BektaşÇimen,我更新了我的答案以使事情更清楚。 :) 早上好,@BektaşÇimen - 如果您愿意,您可以编辑您的问题,并在您的问题中提供更多关于您想要实现的目标的详细信息,这样我们可能会为您提供更多帮助。跨度>

以上是关于如何在 Laravel 中使用带有变量的 create 方法的主要内容,如果未能解决你的问题,请参考以下文章

Laravel:带有变量的whereIn

如何在 laravel DB:raw 中使用 count() WHERE IN

带有消息“未定义变量”的 Laravel Tinker ErrorException

Laravel 5.2 - 使用 jquery 自动完成下拉菜单

如何在 Laravel 5.3 中使用带有 Vue.js 2.0 的组件中使用外部 html 模板

如何在模型绑定中使用带有 Laravel 的复选框组