【问题标题】:if more than 2 column selected in list如果在列表中选择了超过 2 列
【发布时间】:2015-05-12 16:06:37
【问题描述】:

我有这个雄辩的模型查询

public function getemployee(){
    $id = $_POST['id'];
    $employees = mot_users::where("branch_no", $id)->lists('user_no', 'lastname', 'firstname');
    return response()->json(['success' => true, 'employees' => $employees]);
}

问题是这个“->lists();”只能处理 2 个作为 json 响应发送的列(通过控制台看到,仅发送 3 个中的 2 个选定的列)。如何在“->list()”中发送 3 列或多于 2 列,或者如果不可能的话,除了使用“->list()”之外还有其他的雄辩模型查询吗?

【问题讨论】:

    标签: php laravel laravel-5


    【解决方案1】:

    要做到这一点,只需做一个

    $employees = mot_users::where("branch_no", $id)->get(array('user_no','lastname','firstname'))->toArray();
    

    这应该可以解决问题。

    请注意,如果您的模型对象具有关系并且此列关系不是您尝试 ->get 的一部分,则不会出现错误。

    注意 2,您在这里使用的是好的 ol'$_POST,您应该考虑使用文档中看到的 proper Request object

    【讨论】:

    • 谢谢! @YoannCh,关于使用正确的请求对象,如果我使用 "Request::input("id");"我得到一个错误,但是,如果我使用 $_POST,我没有得到一个,所以我确实使用了 $_POST 而不是 "Request::input("id"); ",即使它不合适,因为我正在使用框架。
    • 那么您的控制器或设计中可能存在问题。你也应该解决这个问题@Code_Demon。顺便说一句,请随意接受我的回答;)
    • 您应该添加以下内容:use Illuminate\Http\Request;
    • 然后在您的方法原型中,@Post 执行以下操作:public function yourFunctionWhateverItsName(Request $request)
    • 这就是依赖注入的方式。我更喜欢将所有内容拆分为单独的消息,以便我认为它看起来更清晰且更具可读性。
    猜你喜欢
    • 2018-05-27
    • 1970-01-01
    • 1970-01-01
    • 2017-10-17
    • 2016-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-16
    相关资源
    最近更新 更多