выпадающий список с несколькими одинаковыми предметами

Java имеет пул строк, в котором Java управляет распределением памяти для объектов String. См. String Pools в Java

Когда вы проверяете (сравниваете) два объекта с помощью оператора ==, он сравнивает равенство адресов в пуле строк. Если два объекта String имеют одинаковые адреса, то он возвращает true, в противном случае false. Но если вы хотите сравнить содержимое двух объектов String, вы должны переопределить метод equals.

equals - фактически метод класса Object, но он переопределяется в класс String и дается новое определение, которое сравнивает содержимое объекта.

Example:
    stringObjectOne.equals(stringObjectTwo);

Но помните, что это относится к случаю String. Если вы хотите сравнить регистр без учета регистра, вы должны пойти для метода equalsIgnoreCase класса String.

Давайте посмотрим:

String one   = "HELLO"; 
String two   = "HELLO"; 
String three = new String("HELLO"); 
String four  = "hello"; 

one == two;   // TRUE
one == three; // FALSE
one == four;  // FALSE

one.equals(two);            // TRUE
one.equals(three);          // TRUE
one.equals(four);           // FALSE
one.equalsIgnoreCase(four); // TRUE

0
задан user11124425 9 March 2019 в 23:58
поделиться

1 ответ

В вашем foreach вы допустили ошибку, переменная должна быть $mark, а не $marks

<select name="fk_mark" id="" class="form-control">
   @foreach($marks as $mark)
   <option value="{{$mark->id}}">
   {{$mark->name_mark}}
   </option>
   @endforeach
</select>

В вашей функции редактирования вы отправляете только одну метку для вашего просмотра, вам нужно отправить их все, если вы хотите, чтобы все отметки в вашем выборе.

public function edit($id)
    {
        $series = Serie::find($id);
        $marks = Mark::all();
        return view('admin.series.edit', compact('series', 'marks'));
    }
0
ответ дан Lucas Piazzi 9 March 2019 в 23:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: