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'') }}"