我试图使用Laravel的Eloquent ORM和条件语句,例如,在Codeigniter中我可以使用以下语法来过滤我的数据库结果;
<?php
$this->db->select('*')->from('demos');
if (isset($data) && is_numeric($data) )
{
$this->db->where('type_id', $data);
}
if (isset($name) && is_string($name) )
{
$this->db->where('name', $name);
}
return $this->db->get(); ?>
Run Code Online (Sandbox Code Playgroud)
我尝试了同样的实现,似乎没有用; 如何使用Eloquent复制上述内容?
谢谢你的协助
如果您已设置模型,请尝试以下操作:
$demos = Demo::query();
if (isset($data) && is_numeric($data) )
{
$demos->where('type_id', $data);
}
if (isset($name) && is_string($name) )
{
$demos->where('name', $name);
}
return $demos->get();
Run Code Online (Sandbox Code Playgroud)
感谢@JofryHS的建议.代码相应更新.