Laravel Eloquent ORM和条件陈述

0 php laravel eloquent

我试图使用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复制上述内容?

谢谢你的协助

mik*_*ner 7

如果您已设置模型,请尝试以下操作:

$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的建议.代码相应更新.