gpt4 book ai didi

php - 基于条件的方法链

转载 作者:行者123 更新时间:2023-12-04 16:52:49 25 4
gpt4 key购买 nike

您如何根据laravel 4 中的条件进行方法链接?假设一个值不是假的,那么里面的方法将被链接到在 if 语句之前调用的方法。

在laravel中可能吗?

$data = User::where('username', $somevariable );

if(isset( $somevar_again ))
{
$data->where('age', 21);
}
$data->orderBy('reg_date', 'DESC')->get();
return $data->first();

//尝试了上面的代码,但它给了我错误的结果
在 codeigniter 我可以做到这一点
$this->db->select('e.*, v.name_en as v_name_en')
->from($this->table_name . ' e, ' . $this->ptc_venues . ' v');
$this->db->where('e.venue_id_en = v.id');

if(isset($search)){
$this->db->where('(v.name_en LIKE "%'.$search.'%")');
}

$this->db->limit($limit, $start);
$this->db->order_by('e.added_date_en', 'DESC');

最佳答案

我相信您的问题发生了,因为您没有在每次查询构建器方法调用后存储结果查询。

$query = User::query();

// Checking for username if exists
if (!empty($username)) {
$query = $query->where('username', $username);
}

// Check for age if exists
if (isset($age)) {
$query = $query->where('age', $age);
}

// Ordering
$query = $query->orderBy('reg_date', 'DESC');

// Get the first result
// After this call, it is now an Eloquent model
$user = $query->first();

var_dump($user);

关于php - 基于条件的方法链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25378947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com