我可以在Code IGNITER中做到这一点:

$this->db->select();
$this->from->('node');
if ($published == true)
{
    $this->db->where('published', 'true');
}
if (isset($year))
{
    $this->db->where('year >', $year);
}
$this->db->get();

如何翻译此代码,使其在Laravel中工作?

推荐答案

In Fluent you can do:

$query = DB::table('node');

if ($published == true)
    $query->where('published', '=', 1);

if (isset($year))
    $query->where('year', '>', $year);

$result = $query->get();

Laravel相关问答推荐

Laravel:BelongstoMany 关系实现

Laravel Livewire 组件在刷新后不会自动刷新/重新加载

插入重复键时,laravel eloquent 忽略错误

laravel 基本路径

如何在 Laravel 5.5 中扩展 vendor 包服务提供者

Laravel 5 迁移:Schema::table 方法中不同类型的默认长度

条带 api 判断现有卡

laravel 5 - assets资源 list 中未定义 css 文件?

Cookie::forget 不工作 laravel 5.1

如何在 Laravel 5.2 中手动发送密码重置请求?

如何在 laravel 中解码 Json 对象并在 laravel 中应用 foreach 循环

laravel 4:更新行时如何从列的当前值中减一?

Laravel Mix 生成字体到另一个目录

在 Laravel 中将 Eloquent 导出到 Excel 时如何包含列标题?

将 Laravel 集合附加到另一个集合

Blade 中的条件扩展

Laravel 如何从子域 URL 中删除api前缀

Laravel 5.4 - Mix - 如何运行浏览器实时重新加载

如何在 Laravel 中使用补丁请求?

今天之前的 Laravel 规则......怎么办