【问题标题】:Return specific value from a table to validate with in_array using Laravel从表中返回特定值以使用 Laravel 使用 in_array 进行验证
【发布时间】:2016-12-29 00:24:19
【问题描述】:

我需要返回一个包含键“polls”和“polls_voted”的数组。 polls_voted 的值需要是所有有答案的投票。

我需要将此数组返回到我的视图并使其工作:

{!! link_to_route('poll.edit', 'Modifier', [$poll->id], ['class' => 'btn btn-warning btn-block' . (in_array($poll->question, $polls_voted)? '禁用' : '')]) !!}

所以我做了以下事情:

    $polls = Poll::paginate($n);
    $polls_answered = Poll::has('answers')->get();

    $polls_voted = [];

    foreach ($polls_answered as $poll) {
        array_push($polls_voted, $poll->question);
    }

    return compact('polls','polls_voted');

这可行,但我很确定使用 eloquent 或 querybuilder 可以更轻松地完成一些事情。

有什么想法吗?

【问题讨论】:

    标签: php laravel laravel-5 eloquent


    【解决方案1】:

    如果您想从一组记录中获取单个列,只需使用 lists 方法而不是 getlists 方法接受一个列名作为参数和一个包含给定列值的数组。

    这应该可以解决问题:

    $polls_voted = Poll::has('answers')->lists('question');
    

    【讨论】:

    • 是的,它适用于此,因为我需要返回一个数组:$polls_voted = Poll::has('users')->lists('question')->toArray();
    猜你喜欢
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-25
    • 2021-01-18
    • 1970-01-01
    • 1970-01-01
    • 2016-12-17
    相关资源
    最近更新 更多