Какой самый простой способ перенести данные из одной таблицы / модели в другую для новичка?

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

. Короче говоря, он позволяет разработчикам явно объявлять, что класс подклассы другого класса (или реализует некоторый интерфейс), перечислив его в файле в каталоге META-INF/services файла JAR / WAR. Затем он может быть обнаружен с использованием класса java.util.ServiceLoader , который при заданном объекте Class будет генерировать экземпляры всех объявленных подклассов этого класса (или, если Class представляет собой интерфейс , все классы, реализующие этот интерфейс).

Основное преимущество этого подхода состоит в том, что нет необходимости вручную сканировать весь путь к классам для подклассов - вся логика обнаружения содержится в классе ServiceLoader и он загружает классы, явно объявленные в каталоге META-INF/services (не каждый класс в пути к классам).

Однако есть некоторые недостатки:

  • Он выиграл 't найти все подклассы, только те, которые явно объявлены. Таким образом, если вам действительно нужно найти все подклассы, этот подход может быть недостаточным.
  • Он требует, чтобы разработчик явно объявлял класс в каталоге META-INF/services. Это дополнительное бремя для разработчика и может быть подвержено ошибкам.
  • ServiceLoader.iterator() генерирует экземпляры подкласса, а не их Class объектов. Это вызывает две проблемы: вы не можете сказать, как строятся подклассы - конструктор no-arg используется для создания экземпляров. Таким образом, подклассы должны иметь конструктор по умолчанию или должны быть объяснены конструктором no-arg.

Очевидно, что Java 9 будет решать некоторые из этих недостатков (в частности, те, которые касаются создания подклассов).

Пример

Предположим, вам интересно найти классы, реализующие интерфейс com.example.Example:

package com.example;

public interface Example {
    public String getStr();
}

Класс com.example.ExampleImpl реализует этот интерфейс:

package com.example;

public class ExampleImpl implements Example {
    public String getStr() {
        return "ExampleImpl's string.";
    }
}

Вы объявили бы класс ExampleImpl представляет собой реализацию Example путем создания файла META-INF/services/com.example.Example, содержащего текст com.example.ExampleImpl.

Затем вы можете получить экземпляр каждой реализации Example (включая экземпляр ExampleImpl) следующим образом:

ServiceLoader loader = ServiceLoader.load(Example.class)
for (Example example : loader) {
    System.out.println(example.getStr());
}

// Prints "ExampleImpl's string.", plus whatever is returned
// by other declared implementations of com.example.Example.

0
задан Yves Kipondo 18 January 2019 в 17:47
поделиться

1 ответ

/ сотрудники / управление списком просмотра: отлично

EmployeesController


public function store(Request $request)
{
    // Use validation 
    Employee::create($request->all());
    return redirect()->route(employees.manage); //Try to use route
}

для использования формы HTML Laravel Collective это уменьшит ваш код. после добавления коллектива формы laravel

{!! Form::select('attendants', $attendants, $selected_val,['id'=>'id','class'=>'class']) !!}

Однострочный код для поля выбора и опций

используйте Validation

0
ответ дан bhavinjr 18 January 2019 в 17:47
поделиться
Другие вопросы по тегам:

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