gpt4 book ai didi

php - 向 Laravel 中的选择查询添加一个具有值的新列

转载 作者:可可西里 更新时间:2023-11-01 07:11:21 32 4
gpt4 key购买 nike

我想知道如何在 Laravel 中进行选择连接时创建一个名为“type”的默认变量并将值设置为“car”。

到目前为止,这是我的代码:

$items = DB::table('items')->orderBy('created_at', 'desc')
->join('items_categories', 'items.item_category_id', '=', 'items_categories.category_id')
->select(
'items.id as items___item_id',
'items.item_title as items___item_title',
'items_categories.id as items_categories___category_id',
'items_categories.title as items_categories___category_title',
)
->take(20);

这很好用。但是,我需要为此选择的每条记录获取/添加自定义键和值,以便稍后在模板中使用它来进一步过滤内容。

因此,我需要添加一个名为 type 且值为 car 的键,因此在 print_r 中我将看到每条记录的 type => car 我可以使用这在我的代码中。

怎么做?

我可以把那个 somhow 放在选择中吗?

喜欢:

->select( 
'items.id as items___item_id',
'items.item_title as items___item_title',
'items_categories.id as items_categories___category_id',
'items_categories.title as items_categories___category_title',
//something like this?
'type' = 'car'
)

因为现在我得到这个:

Array
(
[0] => stdClass Object
(
[items___item_id] => 10
[items___item_user_id] => 2
[items___item_title] => A new blue truck
[items_categories___category_id] => 1
[items_categories___category_title] => Truck
)

[1] => stdClass Object
(
[items___item_id] => 11
[items___item_user_id] => 2
[items___item_title] => VW Tiguan
[items_categories___category_id] => 1
[items_categories___category_title] => SUV
)

我想得到这个:

Array
(
[0] => stdClass Object
(
[items___item_id] => 10
[items___item_user_id] => 2
[items___item_title] => A new blue truck
[items_categories___category_id] => 1
[items_categories___category_title] => Truck
[type] => car
)

[1] => stdClass Object
(
[items___item_id] => 11
[items___item_user_id] => 2
[items___item_title] => VW Tiguan
[items_categories___category_id] => 1
[items_categories___category_title] => SUV
[type] => car
)

如果可能,不在模型文件中,而是在一次查询中,因为只有一次我需要完成此修改。

最佳答案

你可以使用这个方法:

$data = DB::table('items')
->Select('items.id as items___item_id',
'items.item_title as items___item_title');

# Add fake column you want by this command
$data = $data->addSelect(DB::raw("'fakeValue' as fakeColumn"));

$data = $data->orderBy('items.id')->get();

好好享受吧!

关于php - 向 Laravel 中的选择查询添加一个具有值的新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41934528/

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