gpt4 book ai didi

mysql - Laravel 4 where like 子句

转载 作者:可可西里 更新时间:2023-11-01 07:16:35 25 4
gpt4 key购买 nike

    public function getIndex()
{


// Get all the blog posts
/*$posts = Post::with(array(
'author' => function($query)
{
$query->withTrashed();
},
))->orderBy('created_at', 'DESC')->paginate(10);*/


$posts =Post::with(array('search' => function($query)
{
$query->where('title', 'like', '%Lorem ipsum%')->withTrashed();
}))->orderBy('created_at', 'DESC')->paginate(10);


// Show the page
return View::make('frontend/blog/index', compact('posts'));

}

这是我在 Controller 中的代码。我正在使用 GitHub 上提供的入门包。

我为这个 Controller 创建了这个模型

public function search()
{
return $this->belongsTo('Post', 'user_id');
}

问题是它没有获取标题包含“Lorem ipsum”的结果。它只是打印表中的所有值。

我如何实现它以仅获取包含我的标签/关键字的值。我这样做是为了向 laravel 站点添加搜索选项

最佳答案

为什么不为此创建一个范围?你读过scopes docs吗? ?这是我如何实现这一目标的示例:

范围:

public function scopeTagged($query, $tag)
{
return $query->where('title', 'LIKE', '%' . $tag . '%');
}

修改你的 Action :

public function getIndex()

{

$posts = Post::tagged($lorem_ipsum)->withTrashed()->orderBy('created_at', 'DESC')->paginate(10);

// Show the page
return View::make('frontend/blog/index', compact('posts'));

}

关于mysql - Laravel 4 where like 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17431818/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com