strong> DocumentFile是_active = true,显示它,如果是_active = false不 如果<<li> strong> DocumentFileis_private = false显示如果<<li> strong> DocumentFileis_private = true,必须检查DocumentRequestDocumentRequest,如果是则显示,如果否则不显示如果用户登录user_idcreated_by与DocumentFile,如果是,则显示 数据可以通过DocumentFile进行搜索名称 排序的数据updated_at =>fromDocumentFile <分页strong>DocumentFile分页strong>
有人能帮我吗?
我有这样的口才
$data = DocumentFile::with(['document_folder', 'document_request.user.profile'])
->where('isactive', true)
->when($request->search, function($query, $search) {
$query->where('name', 'ilike', '%'.$search.'%');
})
->orderBy('updated_at', 'DESC')
->paginate($paginate)
但是它没有显示我想要的数据。
我有三个这样的模型:
- DocumentFolder,字段:id, name
- DocumentFile,字段:id, name, is_private, is_active, created_by, updated_at, document_folder_id
- DocumentRequest,字段:id, user_id, document_file_id
1 DocumentFolder文档文件,1 DocumentFile有很多DocumentRequest
我想显示带有条件的数据:
如果<<ol>查询逻辑分组
$data = DocumentFile::with(['document_folder', 'document_request.user.profile'])
->where(function($query){
$query->where('id_active', true) // 1
->orWhere('id_private', false) // 2
->orWhere('created_by', auth()->user()->id); // 3 and 4
})
->when($request->search, function($query, $search) {
$query->where('name', 'ilike', '%'.$search.'%');
})
->orderByDesc('updated_at')
->paginate($paginate);