Laravel:从数据库中检索模型
Posted
技术标签:
【中文标题】Laravel:从数据库中检索模型【英文标题】:Laravel: Retrieve models form database 【发布时间】:2021-01-18 21:13:29 【问题描述】:我试图弄清楚如何从数据库中检索模型,但是我只得到数组和 stdClasses。谁能给点建议?
$queryBuilder = DB::table(Note::TABLE);
$dto->applyPaginationRules($queryBuilder);
dd($queryBuilder->get());
我研究过的另一种方法是使用模型从数据库中检索模型,但是似乎没有办法在检索所有信息之前应用过滤器
Note::all();
【问题讨论】:
【参考方案1】:Laravel Eloquent 模型应该让您在处理数据库时以读取或写入的方式轻松工作。
您可以参考本节来熟悉不同的方法,这些方法可用于构建查询条件 [用于过滤] 或其他内容(例如分页)。 https://laravel.com/docs/8.x/queries
例如,如果您有 Eloquent 模型注意,您可以按如下方式构建查询 [取决于表列]:
Note::query()->where('title','=','some title')
->where('created_at','>',$now)
->orderBy('title')
->get()
必须在最后调用 get() 方法才能执行构建的查询并返回记录的集合。
【讨论】:
【参考方案2】:我不确定我是否明白你的意思。
您有一个名为“Note”的模型,您可以使用以下方法获取存储在数据库中的所有笔记
Note::all()
如果您想对该查询应用条件,您可以这样做:
Note::where('column_name', '=' , 'value')->get();
如果你想在每个对象上使用一个方法,你可以这样做:
//get notes with a conditaion
$notes = Note::where('column_name', '=' , 'value')->get();
foreach($notes as $note)
$note->MethodName();
【讨论】:
我的模型上没有静态 where 函数。 试试:Note::query()->where('column_name', '=' , 'value')->get();
以上是关于Laravel:从数据库中检索模型的主要内容,如果未能解决你的问题,请参考以下文章