Php Laravel включает модель в середине программы - PullRequest
0 голосов
/ 22 ноября 2018

Я хочу добавить модели из одной таблицы под названием «моделлист» в середине программы.

foreach ($trans_infos as $key => $trans_info) {
                if($trans_info->heirarchy_type==1 || $trans_info->heirarchy_type==2){
                    $model=TransactionModules::where('id',$info->module_id)->first();
                    $model_name=$model->model; // here am getting model name form table
                    use  App\Models\.$model_name; //i used this function to include model on middle of program  
                    $model_name::find($info->transaction_id)->update(['status' => 7]);
                }
            }

Ответы [ 2 ]

0 голосов
/ 22 ноября 2018

Вы можете сделать это прямо на eloquent.

нет необходимости сначала объявлять использование

не забудьте использовать пространство имен в виде строки => "App \ Models \\"

foreach ($trans_infos as $key => $trans_info) {
      if($trans_info->heirarchy_type==1 || $trans_info->heirarchy_type==2)
      {
          $model=TransactionModules::where('id',$info->module_id)->first();
          "App\Models\\".$model->model::find($info->transaction_id)
                                    ->update(['status' => 7]);
      }
 }
0 голосов
/ 22 ноября 2018

Я не проверял это, но попробуйте:

foreach ($trans_infos as $key => $trans_info) {
            if($trans_info->heirarchy_type==1 || $trans_info->heirarchy_type==2){
                $model=TransactionModules::where('id',$info->module_id)->first();  
                ($model::class)::find($info->transaction_id)->update(['status' => 7]);
            }
        }

Метод класса возвращает пространство имен с именем модели

Надеюсь, это сработает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...