gpt4 book ai didi

php - 如何从 Laravel 5 的集合中获取项目?

转载 作者:可可西里 更新时间:2023-11-01 13:19:14 25 4
gpt4 key购买 nike

我是 Laravel 的新手,我不知道如何从返回的集合中获取项目的值。这是我的代码:

$aircraft = Aircraft::join('pams_shared.shared_aircraft', 'aircraft.shared_aircraft_id', '=', 'pams_shared.shared_aircraft.shared_aircraft_id')
->select('aircraft.*', 'shared_aircraft.*')
->where('aircraft.owner_id',Auth::user()->owner_id)
->where('registration',$reg)
->get();

我想从 aircraft.aircraft_id 获取值,但这就是我卡住的地方。我试过:

    $id = $aircraft->aircraft_id;

我试过:

    $id = $aircraft->aircraft.aircraft_id;

我也试过:

    $id = array_get($aircraft, 'aircraft_id');

但我得到的是 null 作为一个值。当我执行 var_dump($aircraft)dd($aircraft) 时,我能够确认数据在那里。

在我看来,我可以通过循环访问该值,但我需要在我的 Controller 中使用这些数据来对另一个表执行第二次查询。

希望这是有道理的。干杯。

编辑

当运行 dd($aircraft); 我得到这个:

Collection {#239 ▼
#items: array:1 [▼
0 => Aircraft {#240 ▼
#fillable: array:8 [▶]
#table: "aircraft"
#primaryKey: "aircraft_id"
#connection: null
#perPage: 15
+incrementing: true
+timestamps: true
#attributes: array:16 [▼
"aircraft_id" => 5
"owner_id" => 2
"shared_aircraft_id" => 67443
"year" => 2012
"serial_number" => "C127RG3"
"registration" => "C-SMTH"
"created_by" => 2
"modified_by" => 2
"created_at" => "0000-00-00 00:00:00"
"updated_at" => "0000-00-00 00:00:00"
"aircraft_code" => "2072438"
"aircraft_mfr" => "CESSNA"
"aircraft_model" => "172RG"
"aircraft_type" => 4
"aircraft_eng" => 1
"aircraft_cat" => 1
]
#original: array:16 [▶]
#relations: []
#hidden: []
#visible: []
#appends: []
#guarded: array:1 [▶]
#dates: []
#casts: []
#touches: []
#observables: []
#with: []
#morphClass: null
+exists: true
}
]
}

最佳答案

当您在query builder 上使用get() 方法时,无论它获得多少条记录,它都会返回一个数组。所以你可以通过索引指向它来访问它。顺便说一下,不要忘记检查是否为空以克服可能的错误。

$id = 0;
$aircraft = Aircraft::join('pams_shared.shared_aircraft', 'aircraft.shared_aircraft_id', '=', 'pams_shared.shared_aircraft.shared_aircraft_id')
->select('aircraft.*', 'shared_aircraft.*')
->where('aircraft.owner_id',Auth::user()->owner_id)
->where('registration',$reg)
->get();
// now you can access properties
if(count($aircraft) > 0) $id = $aircraft[0]->aircraft_id;

关于php - 如何从 Laravel 5 的集合中获取项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30754782/

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