在 Laravel 5.8 中,如果你想在 foreach
循环中使用 where
和 like
子句来过滤数组并期望得到完整的结果,你需要确保你的查询逻辑是正确的。where
和 like
子句通常用于数据库查询,而不是直接用于数组操作。如果你正在处理的是从数据库检索的数据,你应该在查询数据库时就应用这些条件。
以下是一个基本的例子,展示了如何在 Laravel 中使用 Eloquent ORM 来执行带有 where
和 like
条件的查询:
// 假设你有一个名为 Post 的模型
$posts = Post::where('title', 'LIKE', '%keyword%')
->orWhere('content', 'LIKE', '%keyword%')
->get();
// 然后在 foreach 循环中遍历结果
foreach ($posts as $post) {
// 处理每个帖子
}
如果你已经有了一个数组,并且想要根据某些条件过滤它,你可以使用 PHP 的 array_filter
函数:
$posts = [
// ... 你的帖子数组
];
$keyword = 'your_keyword';
$filteredPosts = array_filter($posts, function ($post) use ($keyword) {
return strpos($post['title'], $keyword) !== false || strpos($post['content'], $keyword) !== false;
});
// 现在 $filteredPosts 包含了根据关键词过滤后的帖子
如果你在使用 foreach
循环时没有得到完整的结果,可能是因为以下原因:
use ($keyword)
)。如果你遇到的问题仍然无法解决,请提供更多的代码和上下文,以便进一步诊断问题所在。
领取专属 10元无门槛券
手把手带您无忧上云