Значение изменения значения Laravel

В laravel мы можем получить входное значение через Input::get('inputname') . Я пытаюсь изменить значение, сделав это Input::get('inputname') = "new value"; , Но затем я получаю сообщение об ошибке: « Can't use function return value in write context .

Можно ли изменить значение ввода так, чтобы при последующем вызове Input::get('inputname') новое измененное значение?

Благодарю.

Вы можете использовать Input::merge() для замены отдельных элементов.

 Input::merge(['inputname' => 'new value']); 

Или используйте Input::replace() чтобы заменить весь массив ввода.

 Input::replace(['inputname' => 'new value']); 

Вот ссылка на документацию

Если вы хотите переписать входные данные, вы можете попробовать:

 Input::merge(array('somedata' => 'SomeNewData')); 

Если вы хотите сделать это в Laravel 5, вы можете использовать метод merge() из класса Request :

 class SomeController extends Controller { public function someAction( Request $request ) { // Split a bunch of email addresses // submitted from a textarea form input // into an array, and replace the input email // with this array, instead of the original string. if ( !empty( $request->input( 'emails' ) ) ) { $emails = $request->input( 'emails' ); $emails = preg_replace( '/\s+/m', ',', $emails ); $emails = explode( ',', $emails ); // THIS IS KEY! // Replacing the old input string with // with an array of emails. $request->merge( array( 'emails' => $emails ) ); } // Some default validation rules. $rules = array(); // Create validator object. $validator = Validator::make( $request->all(), $rules ); // Validation rules for each email in the array. $validator->each( 'emails', ['required', 'email', 'min: 6', 'max: 254'] ); if ( $validator->fails() ) { return back()->withErrors($validator)->withInput(); } else { // Input validated successfully, proceed further. } } } 

Попробуйте это, это поможет вам.

 $request->merge(array('someIndex' => "yourValueHere"));