concatenate concatenar code php laravel concatenation blade laravel-blade

php - concatenar - laravel blade json



Laravel blade "entrada antigua o variable por defecto"? (3)

Quiero mostrar la entrada antigua en el valor de entrada. Si no hay entrada antigua, entonces muestre otra variable:

value="{{ old(''salary_'' . $employee->id) or ''Default'' }}"

Pero cuando no hay una entrada antigua, ¡me da 1 en lugar del valor predeterminado!

¿Creo que el problema tiene algo que ver con la concatenación, pero no sé cómo solucionarlo?


Como se describe en el documento Laravel: "Si está mostrando una entrada antigua dentro de una plantilla Blade, es más conveniente usar el ayudante antiguo:". Entonces, si necesita agregar / editar el formulario de datos (cuando necesita usar el formulario de edición para agregar y editar en modo de edición, necesita usar los datos cargados del modelo (base de datos)) para mostrar los valores del modelo (a través del controlador) que puede usar a continuación :

name="some_value" value="{{ $some_value or old(''some_value'', $the_value) }}"

donde está el nombre de la variable "some_value_from_model" en la matriz de visualización. En este caso, debe ser al principio $ some_value se usará para establecer el "valor" y, si no, intentará usar old (el valor de la solicitud del nombre "some_value") y si no es old, entonces '''' debería estar usado.

Gracias WoodyDRN por el comentario.


Prueba esto:

<textarea name="alamat" id="" class="form-control" placeholder="Alamat">{{ old(''alamat'').@$biodata->alamat }}</textarea>


or es un operador de comparación en PHP, por lo que su código se está evaluando como true , o 1. Lo que quiere es una declaración ternaria if .

Como se mencionó, or se puede usar en blade como forma abreviada de una sentencia ternaria if.

Pero puede (y debe) simplemente pasar el valor predeterminado como el segundo argumento a la función, así:

value="{{ old(''salary_'' . $employee->id, ''Default'') }}"