Php Laravel查询写入
我正在开发Laravel 5.4中的一个项目。我想在我的模型中编写一个select、insert和update查询,该查询应该适用于数据库中的任何表。我以前用Codeigniter做这个,在那里工作很好,但我不知道如何在Laravel中使用它 以下是Codeigniter中模型文件中的代码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
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。具体而言,-(链接更新)