【问题标题】:Problems with MySql Database Queries in a Laravel ModelLaravel 模型中 MySql 数据库查询的问题
【发布时间】:2014-04-16 01:17:46
【问题描述】:

我有一个在 MySql 中配置的 Laravel 数据库迁移,我试图弄清楚如何从模型中调用数据库查询,以便它们可以被不同的类访问。

这是我的 app/models 文件中的一个函数的样子:

    public function insertUsers(string $userName, string $email) 
    {  
        return DB::table('users')->insertGetId(
            array('username' => '$userName', 'useremail' => '$email')
            );  
    }

我在尝试使用控制器调用此函数时遇到类 DB 未找到错误,但我无法找到解决方案,任何正确方向的帮助或步骤都会很棒。感谢您的宝贵时间,如有需要,我可以提供更多信息。

编辑:我想我需要扩展我的课程,谁能验证这是否正确?这是类声明的样子:

  <?php

  class GenericQueries{ 

我试过了

class GenericQueries extends Migration{ 

但它仍然不起作用。任何帮助表示赞赏。

【问题讨论】:

  • 如果您使用查询只是创建简单的类并开始使用它,则无需使用任何类扩展模型。如果您在 DB 之前没有找到 DB 类,像这样的 \DB::table() 检查此链接以获取 stackoverflow.com/questions/21111847/…

标签: php mysql laravel laravel-4


【解决方案1】:

我们可以通过制作 Helpers 来做到这一点,也可以简单地在 Model 中完成 在 library 文件夹下创建一个名为 Helper.php 的文件并在其中:

<?php
  class Helper{
   public static function GetResult($param1, $param2)
    $data = DB::table('users')->insertGetId(
        array('username' => '$param1', 'useremail' => '$param2')
        );  
     return $data;
   }

并调用控制器

        Helper::GetResult($usernaem,$email);

同样可以在模型中完成。但最佳实践和方法是在库中创建类。如上图所示。

【讨论】:

  • 感谢您的回复,时间不早了,所以我会考虑明天早点添加和测试。
  • 没问题。你会在 /app/library 下找到 library 文件夹,让你的课程成为他们的,你的东西!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-10
  • 1970-01-01
  • 2015-05-29
  • 2010-10-26
  • 1970-01-01
  • 2017-08-08
相关资源
最近更新 更多