Welcome Guest, Not a member yet? Register   Sign In
Array to string conversion
#1

Hola

Tengo el siguiente problema en CI4, cuando quiero generar un nuevo usuario en mi db desde un formulario, devuelve el siguiente error:

Conversión de matriz a cadena

pero al editar / modificar este usuario, lo guarda en la base perfectamente sin errores

Este es mi código:

PHP Code:
<?php
echo form_open('/home/guarda');
if(isset(
$users)){
    $name=$users[0]['name'];
    $email=$users[0]['email'];
}
else{
    $name="";
    $email="";
}
?>
<div class="form-group">
<?php
echo form_label('Nombre','name');
echo 
form_input(array('name'=>'name','placeholder'=>'Nombre','class'=>'form-control','value'=>$name));
echo 
"<br>";
echo 
form_label('Email','email');
echo 
form_input(array('name'=>'email','placeholder'=>'Email','class'=>'form-control','value'=>$email));
echo 
"<br>";
echo 
form_submit('guarda','Guardar','class="btn btn-primary"');
if(isset(
$users)){
    echo form_hidden('id',$users[0]['id']);
}

?>
</div>
<?php

echo form_close();
?>

PHP Code:
    public function guarda(){
        
$userModel=new UserModel($db);
        
$request= \Config\Services::request();
        
$data=array(
            
'name'=>$request->getPostGet('name'),
            
'email'=>$request->getPostGet('email'),
        );
        if(
$request->getPostGet('id')){
            
$data['id']=$request->getPostGet('id');
        }
        if(
$userModel->save($data)===false){
            
var_dump($userModel->errors());
        }
        if(
$request->getPostGet('id')){
            
$users=$userModel->find([$request->getPostGet('id')]);
            
$users=array('users'=>$users);
            
$estructura=view('estructura/header').view('estructura/formulario',$users);    
        }
        else{
            
$users=$userModel->findAll();
            
$users=array('users'=>$users);
            
$estructura=view('estructura/header').view('estructura/body',$users);
        }
        return 
$estructura;

    }
    public function 
editar(){
        
$userModel=new UserModel($db);
        
$request= \Config\Services::request();
        
$id=$request->getPostGet('id');
        
$users=$userModel->find([$id]);
        
$users=array('users'=>$users);
        
$estructura=view('estructura/header').view('estructura/formulario',$users);
        return 
$estructura;

    } 

PHP Code:
<?php

namespace App\Models;

use 
CodeIgniter\Model;

class 
UserModel extends Model
{
    protected $table      'users';
    protected $primaryKey 'id';

    protected $returnType     'array';
    protected $useSoftDeletes true;

    protected $allowedFields = ['name''email'];

    protected $useTimestamps false;
    protected $createdField  'created_at';
    protected $updatedField  'updated_at';
    protected $deletedField  'deleted_at';

    # -----------------------------------------------------------------
    # Pongo todas las reglas de validacion
    # -----------------------------------------------------------------
    protected $validationRules    = array(
        # Valido el name
        # le digo que sea requerido y (|) que sea alfanumerico y que tenga un minimo de 3 caracteres
        'name' => 'required|alpha_numeric_space|min_length[3]',
        # Valido el email, que sea requerido, de timo email y unico
        'email' => 'required|valid_email|is_unique[users.email]'
    );

    # -----------------------------------------------------------------
    # Si Falla alguna de las validaciones entonces enviame este mensaje
    # -----------------------------------------------------------------
    protected $validationMessages = [
        'email' => [
            'is_unique' => 'Ese correo ya se encuentra registrado'
        ]
    ];

    protected $skipValidation     false
Reply




Theme © iAndrew 2016 - Forum software by © MyBB