当前位置: 首页 > 知识库问答 >
问题:

从模型Laravel获取值数组

席成仁
2023-03-14

我试图得到一个所有api_token的数组(这是我的模型用户的一个变量),但是做用户:所有()太慢了请求。

有没有办法从Laravel中的模型中获得某个值的数组?

我的代码:

$allUsers = User::all();
$allTokens = [];
foreach ($allUsers as $key => $userForeach) {
   if($userForeach->api_token){
       array_push($allTokens, $userForeach->api_token);
   }
}

共有3个答案

东郭昌胤
2023-03-14
$allUsers = User::whereNotNull('api_token')->pluck('api_token')->toArray();
$allTokens = [];
foreach ($allUsers as $userForeach) {
   $allTokens [] = $userForeach;
}
卢宜然
2023-03-14

将此功能放在您的用户模型上

// get only API token for all users
 
  function getTokens()
{
    return  User::pluck('api_token')->toArray();   
}

然后你可以随时从用户模型调用它

User::getTokens();
梁丘波
2023-03-14

您只能选择该列:

$tokens = User::select('api_token')->get()->toArray();

或者

$tokens = User::all('api_tokens')->toArray();

或者

$tokens = User::pluck('api_token')->toArray();

它将加快您的查询速度,因为您只选择了一列。

另外,在这里你们可以阅读答案。

 类似资料:
  • 我正在尝试为Swagger中的项目获取模型模式。我想通过一个http请求来实现这一点,该请求来自不同于托管Swagger的机器。 我可以从以下位置获取作为json的Swagger API文档: 该响应包含: 是否有任何方法获取“/definitions/Item”模型模式? 我想做一个http获取,比如: 我使用的是Swagger 2.0版。 谢谢

  • 我想从这个代码中得到的数组中得到一个特定的数组数据: 结果是: 数组(1){[“用户”]= 我想得到的是用户名值,我尝试过这样的解决方案: 但它给了我这样的错误: 正在尝试获取非对象的属性“username” 如何解决这个问题?谢谢你的关注。

  • 我有一个类,它将我的jpa实体转换为到,反之亦然。 当我在方法中进行转换时,返回的是,我需要它是。 是否可以迭代此集合()并获取“to”值? 转炉 转炉生产者

  • 问题内容: 我有一个生成事实的简单应用。我想合并一个生成随机事实而不是递减的函数。 我的数组看起来像这样。 问题答案: 使用随机类。该类有一个方法,(doc)和引号: 返回一个伪随机数,它从此随机数生成器的序列中提取,在0(含)和指定值(不含)之间均匀分布的int值。nextInt的一般约定是伪随机生成并返回指定范围内的一个int值。所有n个可能的int值均以(近似)相等的概率产生。 因此,您需要

  • 问题内容: 我有这个: (我用var_dump($ child)生成了那个) 如何从字符串中获取“名称”属性? 这是我的代码: 问题答案: 使用SimpleXML,您可以获得: 子元素,使用对象表示法: 和属性,使用数组符号: 所以,在这里,我会说你必须使用: 作为参考,并提供一些示例,请参见simplexml手册的“ 基本用法” 部分。 Example#6 应该是有趣的关于属性的 例子 。