【发布时间】:2020-05-06 06:39:12
【问题描述】:
如何以 eloquent 的方式返回 deleted_at 列为空的所有文件。我可以像这样访问deleted_at 的值$media->model['deleted_at']
在控制器中,我将 $files 返回到视图。
$files = $media->paginate(3);
在我看来,如果文件被删除,下面的代码会给我空的<iframe>。
@foreach ($files as $media)
@if(is_null($media->model['deleted_at']))
@php($id = $media->model['id'])
@php($file_name = $media->model['document_file'][0]['file_name'])
<iframe style="width: 500px; height: 700px;" src="{{ asset("storage/$id/$file_name") }}"></iframe>
@endif
@endforeach
使用 QueryBuilder 我可以做到这一点,但如何使用 eloquent 做到这一点。
$file = DB::table('media')
->join('files', 'media.model_id', '=', 'files.id')
->select('model_id', 'file_name')
->where('deleted_at', '=',null)
->paginate(3);
【问题讨论】:
-
你定义媒体和文件模型的关系了吗?
标签: php laravel eloquent laravel-query-builder