laravel - Laravel - 查询两个具有特殊条件的模型
问题描述
我有两个两个表:
部门(部门)
id、dept_code 和 dept_point
指定(指定)
id、dept_code、designation_point 和 created_at
我想从指定中选择dept_code、designation_point、created_at。查询应遍历指定表并使用这些条件。
条件
从 dept_code 不等于 101 和 102 的 designation 中选择所有 dept_code、designation_point 和 created_at
如果 dept_code = 101 或 dept_code = 101,在指定时,应使用以下条件从指定中选择匹配的 dept_code、designation_point 和 created_at:
department.dept_code = designation.dept_code
部门.部门点=指定.指定点
这是我已经拥有的代码
控制器
$designations = DB::table('designation as g')
->select(
'g.dept_code',
'g.designation_point',
DB::raw("DATE(created_at) as created_date")
)
->orderByRaw('g.created_at DESC')
->get();
看法
@foreach($designations as $key => $designation)
<tr>
<td>{{ ++$key }}</td>
<td>{{ $designation->dept_code }}</td>
<td>{{ $designation->designation_point }}</td>
<td>{{ $designation->created_date }}</td>
</tr>
@endforeach
如何完成Controller中的代码
解决方案
I'm not sure what you mean with your second condition. I'll update my answer accordingly.
Using Builder
$designations = DB::table('designations')
->select('dept_code', 'designation_point', 'created_at')
# Condition 1
->whereNotIn('dept_code', [101, 102])
->orderBy('created_at', 'desc')
->get();
Using Eloquent
$designations = App\Designation::select('dept_code', 'designation_point', 'created_at')
# Condition 1
->whereNotIn('dept_code', [101, 102])
->orderBy('created_at', 'desc')
->get();
推荐阅读
- javascript - Event Store 持久订阅是如何工作的?
- java - 如何为退休创建一个 void 方法
- reactjs - 组件条件渲染的单元测试
- r - RStudio 项目名称
- python - 'SafeString' 对象没有属性 'get'
- android - Android导航组件-从一个活动导航(带参数)到第二个,将第二个活动的参数传递给startDestination片段
- ruby-on-rails - Stripe.js 是否应该捕获所有可能发生的错误?
- jquery - Jquery从循环中跳过最后两行
- vb.net - DataGridView 初始加载速度非常快,顺序刷新非常慢(VB.NET)
- android - 是否可以针对 Android 应用程序仅针对少数设备?