Ny 數組看起來像這樣:Illuminate\Database\Eloquent\Collection {#2052 ▼ #items: array:3 [▼ 0 => App\Models\NewsMeta {#2089 ?} 1 => App\Models\NewsMeta {#2090 ?} 2 => App\Models\NewsMeta {#2091 ?} ]} 如果我打開數組2: #original: array:7 [▼ "id" => 17 "post_id" => 240231 "news_tag_id" => 5 "meta_name" => "_thumbnail_id" "meta_value" => "240232" "created_at" => "2020-08-06 22:34:06" "updated_at" => "2020-08-06 22:34:06" ]現在,鑒于我有 240231,我希望獲得值“240232”。如何在對象的數組內部搜索?類似于:其中 post_id 是 240231 獲取 ts meta_value。僅供參考:這不是雄辯的或數據庫查詢。
1 回答

偶然的你
TA貢獻1841條經驗 獲得超3個贊
像這樣的東西應該有效:
? ? ? ? $postId = 240231;
? ? ? ? $metaValue = null;
? ? ? ? foreach ($collection as $model) {
? ? ? ? ? ? if ($model->post_id == $postId) {
? ? ? ? ? ? ? $metaValue = $model->meta_value;
? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? echo $metaValue;
您還可以使用集合的search方法:
? ? $postId = 240231;
? ? $metaValue = $collection->search(static function($model, $key) use($postId) {
? ? ? ? if ($model->post_id == $postId) {
? ? ? ? ? ? return $model->meta_value;
? ? ? ? }
? ? });
? ? echo $metaValue;
- 1 回答
- 0 關注
- 96 瀏覽
添加回答
舉報
0/150
提交
取消