请问:dacatadmin 框架,form 表单使用 tree 字段,新增提交时候报错:Array to string conversion {“exception”:”[object]

1. 运行环境

本地,dcatadmin框架

1). 当前使用的 Laravel 版本?

Laravel Framework 8.83.27
//: <> (使用 php artisan --version 命令查看)

2). 当前使用的 php/php-fpm 版本?

PHP 版本:
PHP 7.4.33 (cli) (built: Jun 6 2024 19:16:29) ( NTS )

php-fpm 版本:
-
//: <> (代码里 phpinfo 函数,然后页面访问查看 php-fpm 版本)
//: <> (如不方便使用 phpinfo 函数 ,使用 ps aux | grep php-fpm.conf 命令查)
//: <> ( 看 php-fpm 版本。如有多个,请以 nginx 站点配置为准。)

3). 当前系统

macos
//: <> (期待数值 Windows 10 / Ubuntu 20.4 / CentOS 8 )

4). 业务环境

开发环境
//: <> (期待信息 开发环境生产环境)
//: <> (是否使用负载均衡?请提供相关信息)

5). 相关软件版本

mysql5.7
//: <> (提供相关软件的版本,如 Nginx 、MySQL、MongoDB 等)

2. 问题描述?

dacatadmin 框架,form 表单使用 tree 字段,新增提交时候报错:Array to string conversion {“exception”:”[object] (ErrorException (code: 0): Array to string conversion

form 表单代码如下:

Laravel

尝试过只保留 tree 提交保存不行,如果屏蔽掉 tree 结构提交保存成功,可以定位是 tree 的值有问题

3. 您期望得到的结果?

正常表单新增保存成功!

4. 您实际得到的结果?

Laravel

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案
class CaseMusic extends Model {

    //自动设置转换
    //protected $casts = [
    //    "tree" => "array",
    //];

    //手动设置
    public function setImagesAttribute($val){
        $this->attributes['tree'] = json_encode($val);
    }
    //手动转换
    public function getImagesAttribute($val)
    {
        return json_decode($val, true);
    }
}
9个月前 评论
讨论数量: 2

model 里面,设置转换器,把字段设置为 array 或者 json

9个月前 评论
class CaseMusic extends Model {

    //自动设置转换
    //protected $casts = [
    //    "tree" => "array",
    //];

    //手动设置
    public function setImagesAttribute($val){
        $this->attributes['tree'] = json_encode($val);
    }
    //手动转换
    public function getImagesAttribute($val)
    {
        return json_decode($val, true);
    }
}
9个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!