Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

monstajamss's avatar

Array to string conversion Error

I have a model of RoleService with this

 public static function get(){
        $roles = Role::select('id', 'name')->get();
        $result = array();
        foreach($roles as $role){
        array_push($result, $role);
        }
        // return array_merge(self::$defaultRoles, $result);
        return $result;
    }

And then i have this in my controller

 public function edit(Request $request){
        return response()->json( array(
            'roles'         => RolesService::get(),
            'services'      => Service::get(),
            'menulist'      => Menulist::select('menulist.name as label', 'menulist.id as value')->get(),
            'menuElement'   => Menus::where('id', '=', $request->input('id'))->first(),
            'menuroles'     => Menurole::where('menus_id', '=', $request->input('id'))->get()
        ) );

        
    }

and also this

public function update(Request $request){
        $validatedData = $request->validate($this->getValidateArray());

        $check = Menus::where("service_id", "=", $request->service_id)->count();
        if ($request->input('service_id', false) && $check >= 4) {
            $service = Service::find($request->service_id);
            $menus = Menus::where('id', '=', $request->input('id'))->first();
            $menus->d_active = $request->d_active;
            $menus->save();
            return response()->json(array('msg' => 'The service ' .$service->company_name. ' has excedeed the maximum limit of selection of menu items (max:4)'))->setStatusCode(200);
        }

        $menus = Menus::where('id', '=', $request->input('id'))->first();
        $menus->slug = $request->input('type');
        $menus->menu_id = $request->input('menu');
        $menus->icon = $request->input('icon');
        $menus->href = $request->input('href');
        $menus->name = $request->input('name');
        

        $menus->service_id = $request->service_id;
        $menus->d_active = $request->d_active;
        $menus->menu_actions = $request->menu_actions;

        if($request->input('type') === 'title' || $request->input('parent') === 'none' ){
            $menus->parent_id = NULL;
        }else{
            if($request->input('parent') === $request->input('id')){ //can't be self parent
                $menus->parent_id = NULL;
            }else{
                $menus->parent_id = $request->input('parent');
            }
        }
        $menus->save();
        Menurole::where('menus_id', '=', $request->input('id'))->delete();
        if($request->has('role')){
            foreach($request->input('role') as $role){
                $menuRole = new Menurole();
                // $menuRole->role_name = $role;
                $menuRole->menus_id = $request->input('id');
                $menuRole->role_id =  $role;
                $menuRole->save();
            }
        }
        return response()->json( array('success'=>true) );
    }

Vue

<table class="table">
                                          <CInputCheckbox
                                              v-for="rol in role"
                                              :key="rol.id"
                                              :label="rol.name"
                                              v-bind:value="rol.id"
                                              name="selectRoles"
                                              @update:checked="selectRadioSelectRole(rol)"
                                              :checked="fixedmenuroles[rol]"
                                          />
                                    </table>

and i get this error "message": "Array to string conversion",

0 likes
2 replies
Sinnbeck's avatar

Could you perhaps check which line the error is one and then post the code one that line?

monstajamss's avatar

@Sinnbeck i can only see this "message": "Array to string conversion", "exception": "ErrorException", "file": "C:\\wamp\\www\\real-eti\\vendor\\laravel\\framework\\src\\Illuminate\\Support\\Str.php", "line": 488, Not sure

Please or to participate in this conversation.