Php Laravel查询写入

Php Laravel查询写入,php,sql,laravel,laravel-5,Php,Sql,Laravel,Laravel 5,我正在开发Laravel 5.4中的一个项目。我想在我的模型中编写一个select、insert和update查询,该查询应该适用于数据库中的任何表。我以前用Codeigniter做这个,在那里工作很好,但我不知道如何在Laravel中使用它 以下是Codeigniter中模型文件中的代码 class General_Model extends CI_Model { public function fetch_CoustomQuery($sql){ $query

我正在开发Laravel 5.4中的一个项目。我想在我的模型中编写一个select、insert和update查询,该查询应该适用于数据库中的任何表。我以前用Codeigniter做这个,在那里工作很好,但我不知道如何在Laravel中使用它

以下是Codeigniter中模型文件中的代码

class General_Model extends CI_Model {

        public function fetch_CoustomQuery($sql){
        $query = $this->db->query($sql);
        return $query->result(); 

        }


        public function create_record($data, $tbl) 
        {
        $this->db->set($data);
        $this->db->insert($tbl);
        return ($this->db->affected_rows() != 1) ? FALSE : TRUE;
        }



        public function update_record($data, $tbl, $wher) 
        {
        $this->db->where($wher);
        $this->db->set($data);
        $this->db->update($tbl);
        }


        public function delete_record($tbl, $wher) 
        {
        $this->db->where($wher);
        $this->db->delete($tbl);         
        } 
}

这在Codeigniter中非常容易。我只需要通过参数,工作正常。我想在Laravel中的模型中编写相同的查询。请帮助

我强烈推荐阅读,但方法非常简单:

GeneralModel::create(["num" => 1, "name" => 2]);
GeneralModel::where("num", ">", 2)->update(["num" => 1]);
GeneralModel::where("num", ">", 2)->delete();

无需将这些方法放在模型上。

我强烈建议阅读,但方法非常简单:

GeneralModel::create(["num" => 1, "name" => 2]);
GeneralModel::where("num", ">", 2)->update(["num" => 1]);
GeneralModel::where("num", ">", 2)->delete();

不需要将这些方法放在模型上。

如果您真的想要这样的东西,那么您可以在那里使用函数来接受模型作为参数:

public function create_record($model,$data)
{
    $model::create($data);
}
在控制器中,您可以执行以下操作

$model = App\Fruit; // lets say fruit is a model you have
GeneralModel::create_record($model,$data);
但为什么不直接这样做呢:

$var = App\Fruit::create($data);

这是多余的。。对于每个模型,都有一种从透视表中获取、插入、更新或删除记录的方法。。我建议您阅读更多关于

的文档,如果您真的想要这样的东西,那么您可以在那里使用接受模型作为参数的函数:

public function create_record($model,$data)
{
    $model::create($data);
}
在控制器中,您可以执行以下操作

$model = App\Fruit; // lets say fruit is a model you have
GeneralModel::create_record($model,$data);
但为什么不直接这样做呢:

$var = App\Fruit::create($data);

这是多余的。。对于每个模型,都有一种从透视表中获取、插入、更新或删除记录的方法。。我建议您在Laravel中阅读更多关于

的文档,这通常会出现在控制器中,而不是模型中。看一看,“我想在我的模型中编写一个select、insert和update查询,它应该适用于数据库中的任何表。”不,您不需要。您希望使用内置功能,而不是在现有的、经过深思熟虑的ORM之上创建一个额外的奇怪ORM。此外,我强烈建议订阅Laracasts。具体来说,在Laravel中,-(链接更新),这通常会出现在控制器中,而不是模型中。看一看,“我想在我的模型中编写一个select、insert和update查询,它应该适用于数据库中的任何表。”不,您不需要。您希望使用内置功能,而不是在现有的、经过深思熟虑的ORM之上创建一个额外的奇怪ORM。此外,我强烈建议订阅Laracasts。具体而言,-(链接更新)