Простое изображение Foreach Laravel - PullRequest
0 голосов
/ 22 января 2020

Я получаю все пользовательские действия для каждой загружаемой ими картинки, но я также хочу получить изображение в этом foreach вместе с таблицей.

В моей базе данных у меня есть 5 столбцов в таблице users doc1 doc2 doc3 doc4 и doc5. Поскольку я получаю изображение, сделанное ими вместе с правильным описанием, без необходимости входа в каждую учетную запись пользователя

enter image description here

на самом деле есть 5 контроллеров из них, пожалуйста, не замечайте беспорядок ^^ Я новичок в программировании

 public function mudar_doc1(Request $request) {
    // getting all of the post data
            $file = array('image' => Input::file('image'));
    // setting up rules
            $rules = array('image' => 'required|image',); //mimes:jpeg,bmp,png and for max size max:10000
    // doing the validation, passing post data, rules and the messages
            $validator = Validator::make($file, $rules);
            if ($validator->fails()) {
    // send back to the page with the input data and errors
                return Redirect::to('userp')->withInput()->withErrors($validator);
            } else {
    // checking file is valid.
                if (Input::file('image')->isValid()) {
                    $destinationPath = 'uploads'; // upload path
                    $extension = Input::file('image')->getClientOriginalExtension(); // getting image extension

                    $extensoes = array("png", "jpeg", "jpg", "gif");
                    $resVal = in_array($extension, $extensoes);
                    if ($resVal) {

                    } else {
                        Session::flash('error', 'O upload não foi realizado com sucesso.');
                        return Redirect::to('userp');
                    }

                    $fileName = rand(11111, 99999) . '.' . $extension; // renameing image
                    Input::file('image')->move($destinationPath, $fileName); // uploading file to given path
                    $doc1 = asset($destinationPath . '/' . $fileName);
                    User::where('id', \Auth::user()->id)->update(['doc1' => $doc1]);
    // sending back with message
                    Session::flash('success', 'ID Card Front Successfully Added!');
                    \App\RegistroAtividade::addAtividade('Cartao ID Frente');

                    return Redirect::to('userp');
                } else {
    // sending back with error message.
                    Session::flash('error', 'O upload não foi realizado com sucesso.');
                    return Redirect::to('userp');
                }
            }
        }


               <tbody>
                @foreach($allAtividades as $atividade)
                <tr>
                    <td>{{$atividade['id']}}</td>
                    <td>{{$atividade->getUser()->name}}</td>
                    <td>{{$atividade['ip']}}</td>
                    <td>{{$atividade['description']}}</td>
                    <td>{{$atividade['created_at']}}</td>
                </tr>
              </tbody>
                @endforeach

1 Ответ

1 голос
/ 22 января 2020

Я не вижу много ссылок в вашем коде на изображение / контроллер / представление или данные, пожалуйста, обновите ваш вопрос, и я обновлю этот ответ вместе с


Важное примечание, которое я хотел бы make

  • Я бы посоветовал вам уделить немного времени чтению о Eloquent Relations
  • Затем вы можете создать Actividade Eloquent, если у вас его нет уже
  • В Actividade Eloquent вы можете назначить user отношения, например, так:
Class Actividade {

    //...
    public function user(){
        return $this->belongsTo(App\User::class, 'user_id');
    }
}

Метод user здесь вернет пользователя, используя столбец user_id в actividade table [если он уже настроен правильно], это облегчит выборку пользователя для действий $actividade->user->name, вместо $actividade->getUser()->name;

, следуя этому подходу, вы можете иметь класс ImagesEloquent, имеющий activities метод, который является реляционным, как действия, в которых есть пользователи, и пользователи, у которых есть действия:

с использованием этого подхода (скелета) будет так просто:

@foreach(Image::find(1)->activities as $_activity){
  <td><img src="{{Image::find(1)->filename}}"/></td> <!-- just an example here -->
  <td>{{$_activity->id}}</td>
  <td>{{$_activity->user->name}}</td>
  <td>{{$_activity->ip}}</td>
  <td>{{$_activity->description}}</td>
  <td>{{$_activity->created_at}}</td>
@endforeach

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

Потребуется немного времени (час или около того), чтобы узнать об этом, но сэкономит вам сотни часов в будущее, и вы получите код чище, я подумал, что предложить.

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