라벨 변경 입력 값
라블라벨에서, 우리는 다음을 통해 입력값을 얻을 수 있습니다.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']);
라라벨 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.
}
}
}
입력 데이터를 덮어쓰려는 경우 다음을 수행할 수 있습니다.
Input::merge(array('somedata' => 'SomeNewData'));
이것을 시도해 보세요, 도움이 될 거예요.
$request->merge(array('someIndex' => "yourValueHere"));
또한 이 문제를 발견했습니다. 다음 코드로 해결할 수 있습니다.
public function(Request $request)
{
$request['inputname'] = 'newValue';
}
안부 전해요
라라벨 8을 사용합니다.$request->속성->set('name', 'Value');
저는 제 문제를 해결하기 위해 라함의 대답을 사용했습니다.그러나 다른 데이터와 동일한 수준에서 업데이트된 데이터를 어레이 내에 중첩하고 있었습니다.사용:
$request->merge('someIndex' => "yourValueHere");
참고로 다른 Laravel newbies는 병합 방법을 사용하여 Laravel 7 업데이트 양식의 빈 확인란 값을 설명했습니다.업데이트 양식의 확인란을 선택 취소하면 0이 반환되지 않고 업데이트 요청에 값이 설정되지 않습니다.결과적으로 해당 값은 데이터베이스에서 변경되지 않습니다.설정된 값을 확인하고 아무것도 없으면 새 값을 병합해야 합니다.누군가에게 도움이 되길 바랍니다.
간단한 업데이트입니다.사용자가 확인란을 선택하지 않고 DB에 값을 입력해야 하는 경우 컨트롤러에서 다음과 같은 작업을 수행합니다.
if(empty($request->input('checkbox_value'))) {
$request->merge(['checkbox_value' => 0]);
}
언급URL : https://stackoverflow.com/questions/23073633/laravel-change-input-value
'programing' 카테고리의 다른 글
버블 정렬 구현이 영원히 반복되는 이유는 무엇입니까? (0) | 2023.08.21 |
---|---|
사전 함께 추가 (0) | 2023.08.21 |
Android Recyclerview 그리드 레이아웃 관리자 열 간격 (0) | 2023.08.21 |
Git에서 가장 많이 변경된 파일 찾기 (0) | 2023.08.21 |
ngFor in Angular를 사용하여 개체 속성을 루프오버하는 방법 (0) | 2023.08.16 |