检查Laravel集合中是否存在记录

时间:2017-11-08 13:07:38

标签: php laravel-5.4

我有控制器

import UIKit
import MapKit

protocol UserLocationDelegate {
  func userLocation(latitude :Double, longitude :Double)
}

class NearMeMapViewController: ARViewController, ARDataSource, MKMapViewDelegate, CLLocationManagerDelegate {

  var nearMeIndexSelected = NearMeIndexTitle ()
  var locationManager : CLLocationManager!
  var nearMeARAnnotations = [ARAnnotation]()


  var nearMeRequests = [NearMeRequest]()
  var delegate : UserLocationDelegate!



  var place: Place?



  override func viewDidLoad() {
    super.viewDidLoad()


    self.title = nearMeIndexSelected.indexTitle


    self.locationManager = CLLocationManager ()
    self.locationManager.delegate = self
    self.locationManager.desiredAccuracy = kCLLocationAccuracyBest
    self.locationManager.distanceFilter = kCLHeadingFilterNone
    self.locationManager.requestWhenInUseAuthorization()
    self.locationManager.startUpdatingLocation()

    self.dataSource = self
    self.headingSmoothingFactor = 0.05
    self.maxVisibleAnnotations = 30

    getNearMeIndexSelectedLocation()



  }

  func getNearMeIndexSelectedLocation()

    {

    let nearMeRequest = MKLocalSearchRequest()
    nearMeRequest.naturalLanguageQuery = nearMeIndexSelected.indexTitle
    let nearMeregion = MKCoordinateRegionMakeWithDistance(self.locationManager.location!.coordinate, 250, 250)
    nearMeRequest.region = nearMeregion
    let nearMeSearch = MKLocalSearch(request: nearMeRequest)
    nearMeSearch.start { (response : MKLocalSearchResponse?, error :Error?) in

      for requestItem in (response?.mapItems)! {

        let nearMeIndexRequest = NearMeRequest ()
        nearMeIndexRequest.name = requestItem.name
        nearMeIndexRequest.coordinate = requestItem.placemark.coordinate
        nearMeIndexRequest.address = requestItem.placemark.addressDictionary?["FormattedAddressLines"] as! [String]
        nearMeIndexRequest.street = requestItem.placemark.addressDictionary?["Street"] as! String!
        nearMeIndexRequest.city = requestItem.placemark.addressDictionary?["City"] as! String
        nearMeIndexRequest.state = requestItem.placemark.addressDictionary?["State"] as! String
        nearMeIndexRequest.zip = requestItem.placemark.addressDictionary?["ZIP"] as! String

        self.nearMeRequests.append(nearMeIndexRequest)
        print(requestItem.placemark.name)

      }

      for nearMe in self.nearMeRequests {


        let annotation = NearMeAnnotation(nearMeRequest: nearMe)

        self.nearMeARAnnotations.append(annotation)
        self.setAnnotations(self.nearMeARAnnotations)




      }

    }

  }




  func ar(_ arViewController: ARViewController, viewForAnnotation: ARAnnotation) -> ARAnnotationView {

    let annotationView = NearMeARAnnotationView(annotation: viewForAnnotation)

    //  annotationView.delegate = self
    annotationView.frame = CGRect(x: 0, y: 0, width: 150, height: 50)
     let tapGesture = UITapGestureRecognizer(target: self, action: #selector(self.tapBlurButton(_:)))
    annotationView.addGestureRecognizer(tapGesture)
    return annotationView

  }



  func tapBlurButton(_ sender: UITapGestureRecognizer) {



    if let annotationView = sender.view as? NearMeARAnnotationView {
      if let detailsVc = storyboard?.instantiateViewController(withIdentifier: "DetailsViewController")
        as? DetailsViewController {
        detailsVc.annotation = annotationView.annotation
          if let annotation = annotationView.annotation as? Place {
      detailsVc.place = annotation

    }




        self.navigationController?.pushViewController(detailsVc, animated: true)

      }
    }
  }


}

然后在我看来,我尝试检查public function users() { $users = User::all('id'); return view('view', compact('users')) } 是否具有我需要的ID

$users

但没有任何反应。如何检查集合是否具有我需要的ID?

1 个答案:

答案 0 :(得分:3)

试试这个:

if ($users->contains('id', Auth::user()->id)){}

您需要指定要作为第一个参数的字段。