【问题标题】:Laravel problem with data array from database来自数据库的数据数组的Laravel问题
【发布时间】:2021-02-08 19:56:45
【问题描述】:

我不知道如何用数据库数据从数组中分配控制器中的变量。

这一行:

 $user = User::where('id', $id)->first()->toArray();

dd($user)返回这个:

array:3[
    "id"=> 1
    "name"="John"
    "surname"="Wick"
]

如何从数组中分配变量?

 $fullName = $name . $surname;

【问题讨论】:

  • 你试过这个吗:$fullName = $user['name']." ". $user['surname'];
  • 看看你的代码在说什么。意思是将user 记录转换为存储在$user 中的数组。当您dd($user) 时,它会显示数组并显示其键和值。这就是为什么它是$user['name']
  • 这应该使用Mutators来完成。

标签: php arrays database laravel


【解决方案1】:

您可以使用extract 将数组键提取为 PHP 变量。

<?php

$user = User::where('id', $id)->first()->toArray();

extract($user);

$fullName = $name . " " . $surname;
 
echo $fullName;

演示: https://3v4l.org/1IRRF

【讨论】:

  • 在这种情况下,当您可以简单地访问 $user["name"] 和 $user["surname"] 时,为什么还需要使用提取?
  • @docl 我会说这是开发人员的选择,如果您的业务逻辑太长,有时它很有用。它使您的代码不那么冗长。
  • 向那些似乎不了解基础知识的人推荐使用 extract,比如访问非常简单的数组中的值,老实说,这对我来说似乎不是一个好建议
猜你喜欢
  • 2019-11-29
  • 2016-01-05
  • 2020-06-19
  • 2020-05-20
  • 1970-01-01
  • 1970-01-01
  • 2017-11-12
  • 2017-01-30
  • 1970-01-01
相关资源
最近更新 更多