Heim > Backend-Entwicklung > PHP-Tutorial > laravel的filter()方法的使用

laravel的filter()方法的使用

WBOY
Freigeben: 2016-06-06 20:10:32
Original
2094 Leute haben es durchsucht

下面的方法是取出一个用户的所有文章,再把文章分成两组,publishedunpublished,

<code>public function index(Request $request)
{
    $articles = $request->user()->articles()->get();

    $published = $articles->filter(function ($article) {
        return $article->status == 1;
    });

    $unpublished = $article->filter(function ($article) {
        return $article->status == 0;
    });

    return view('user.dashboard.index', compact('published', 'unpublished'));
}</code>
Nach dem Login kopieren
Nach dem Login kopieren

现在,在分组的时候,需要多增加一个过滤条件,比如这个:

<code>$published = $articles->filter(function ($article) {
        return $article->status == 1;
    });</code>
Nach dem Login kopieren
Nach dem Login kopieren

上面的过滤的条件只有1个,就是status == 1,
现在增加一个过滤条件publishing_time <br>那么,增加过滤条件后,语法怎么写呢?

回复内容:

下面的方法是取出一个用户的所有文章,再把文章分成两组,publishedunpublished,

<code>public function index(Request $request)
{
    $articles = $request->user()->articles()->get();

    $published = $articles->filter(function ($article) {
        return $article->status == 1;
    });

    $unpublished = $article->filter(function ($article) {
        return $article->status == 0;
    });

    return view('user.dashboard.index', compact('published', 'unpublished'));
}</code>
Nach dem Login kopieren
Nach dem Login kopieren

现在,在分组的时候,需要多增加一个过滤条件,比如这个:

<code>$published = $articles->filter(function ($article) {
        return $article->status == 1;
    });</code>
Nach dem Login kopieren
Nach dem Login kopieren

上面的过滤的条件只有1个,就是status == 1,
现在增加一个过滤条件publishing_time <br>那么,增加过滤条件后,语法怎么写呢?

第一,和你的问题无关,建议你修改下边这一行:

<code>$articles = $request->user()->articles()->get(); // 改成下边
$articles = $request->user()->articles // 这是动态属性的调用方式,是常规用法</code>
Nach dem Login kopieren

第二,来回答你的问题(你可能把问题想复杂了,其实像下边这样简单):

<code>$published = $articles->filter(function ($article) {
    return $article->status == 1 && $article->publishing_time </code>
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage