Php 与Model::query()等价的查询生成器;
您好,出于某些原因,我不得不使用query builder而不是Eloquent,原因是我的模型名为KidsCafe,如果我使用Eloquent,它将使用myapp.kidscaves搜索表,但表名为kidscafes,这是抛出错误,因此,我必须在与数据库的交互中使用查询生成器 现在,我必须实现搜索功能,那么如何使用查询生成器实现类似的功能呢Php 与Model::query()等价的查询生成器;,php,database,laravel,eloquent,Php,Database,Laravel,Eloquent,您好,出于某些原因,我不得不使用query builder而不是Eloquent,原因是我的模型名为KidsCafe,如果我使用Eloquent,它将使用myapp.kidscaves搜索表,但表名为kidscafes,这是抛出错误,因此,我必须在与数据库的交互中使用查询生成器 现在,我必须实现搜索功能,那么如何使用查询生成器实现类似的功能呢 $kids = KidsCafe::query(); 我的问题是如何实现query()使用查询生成器,还有没有其他方法可以在没有查询生成器的情况下使用e
$kids = KidsCafe::query();
我的问题是如何实现query()使用查询生成器,还有没有其他方法可以在没有查询生成器的情况下使用eloquent
提前感谢您您可以通过在模型上定义表格属性来手动指定表格名称:
class KidsCafe extends Model
{
/**
* The table associated with the model.
*
* @var string
*/
protected $table = 'kidscafes';
}
您还可以使用setTable()函数动态地使用另一个表的名称,如下所示-
$kidscafes = new KidsCafe;
$kidscafes->setTable('kidscafes');
它抛出了什么样的错误?SQLSTATE[42S02]:找不到基表或视图:1146表“myapp.Kidscapes”不存在(SQL:select*from
Kidscapes
whereKidscapes
deleted\u at
为空)@GazmendSahiti,这是我在其上使用eloquent时出现的错误,这就是为什么我的所有查询都在查询生成器上,但是我不知道query()使用的语法谢谢,它解决了我的问题,但是没有其他的查询生成器语法可以与雄辩的Model::query()等效@金斯莱:好消息!。您可以在不使用“模型”的情况下使用查询生成器,如DB::table('kidscafes')->get();查看Laravel文档了解更多详细信息