duanchi1230 2017-05-18 04:34
浏览 134
已采纳

在laravel 5.4中将空值转换为空字符串

I want to convert all null with empty string I have used array_walk_recursive but I haven't got what I want please help me to figure it out what I have done wrong here.

protected function setData($key, $value)
{
    $this->data[$key] = $value;
    array_walk_recursive($this->data, function (&$item, $key) {
        $item = null === $item ? '' : $item;
    });
    return $this->data;
}
  • 写回答

3条回答 默认 最新

  • dongxian6741 2017-05-18 05:37
    关注

    well, that's just a lamp mistake in eloquent we always get result in eloquent object and here I'm passing eloquent object inside array_walk_recursive so before passing I need to convert into array from eloquent object using ->toArray() method in laravel like this.

    inside User Controller

    $this->setData("friendList", $loadFriends->friends->toArray());
    

    then array_walk_recursive will work.

    protected function setData($key, $value)
    {
        array_walk_recursive($value, function (&$item, $key) {
            $item = null === $item ? '' : $item;
        });
        $this->data[$key] = $value;
        return $this->data;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?