gpt4 book ai didi

php - 对一个模型使用 2 个查询或 1 个查询并将其转为数组方法以获取其他查询

转载 作者:行者123 更新时间:2023-11-29 12:29:15 24 4
gpt4 key购买 nike

我需要为选择输入获取一个关联数组,就像下面的代码一样。

public function create() {

// queries the clients db table, orders by client_name and lists client_name and id
$client_optons = DB::table('clients')->orderBy('client_name', 'asc')->lists('client_name','id');

return View::make('projects.create', array('client_options' => $client_options));
}

但是我还需要获取整个模型 $clients。

public function create() {

$clients=Clients::all();

// queries the clients db table, orders by client_name and lists client_name and id
$client_optons = DB::table('clients')->orderBy('client_name', 'asc')->lists('client_name','id');

return View::make('projects.create', array('client_options' => $client_options));
}

由于我已经在查询中获取了整个模型,所以我的问题是我应该使用上面所示的 2 个查询,还是性能/编码很差?我应该使用 1 个查询,然后使用模型来获取 $client 选项吗? (如下所示)我是否使用循环来执行此操作,或者是否有数组函数可以更简洁地执行此操作?

public function create() {

$clients=Clients::all();
$clients_array = $clients->toArray();
$client_options = /*some code to create array('client_name'=>'id') */


return View::make('projects.create', array('client_options' => $client_options));
}

最佳答案

幸运的是,lists() 函数也可用于集合:

$clients = Clients::orderBy('client_name', 'asc')->get();
$client_options = $clients->lists('client_name', 'id');

return View::make('projects.create', array(
'client_options' => $client_options,
'clients' => $clients
));

关于php - 对一个模型使用 2 个查询或 1 个查询并将其转为数组方法以获取其他查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27844563/

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