Php Laravel:使用Elequent的条件选择列
我试图获取带有一些if条件的列,比如“如果列为null,则获取其他列” 我当前的代码Php Laravel:使用Elequent的条件选择列,php,laravel,eloquent,Php,Laravel,Eloquent,我试图获取带有一些if条件的列,比如“如果列为null,则获取其他列” 我当前的代码 $products = Product::whereHas('images', function($q) { $q->where('published', 1) })->get(['id as value', 'product_short_name as label']); 需要让它像 如果prdouct\u short\u name为Nullget meproduct\u nameasl
$products = Product::whereHas('images', function($q) {
$q->where('published', 1)
})->get(['id as value', 'product_short_name as label']);
需要让它像
如果
prdouct\u short\u name
为Null
get meproduct\u name
aslabel
如果您使用的是MySQL,您可以尝试使用rawSelect
Product::whereHas('images', function($q) {
$q->where('published', 1)
})->selectRaw('id as value, IF (product_short_name IS NULL, product_name, product_short_name) as label')->get();
如果您使用的是MySQL,那么可以尝试使用rawSelect
Product::whereHas('images', function($q) {
$q->where('published', 1)
})->selectRaw('id as value, IF (product_short_name IS NULL, product_name, product_short_name) as label')->get();