Rumah > Soal Jawab > teks badan
Mengapa anda tidak boleh membuang ($result->getData()) terus selepas $result = Staff::select($where), dan bukannya melintasi array foreach ($result as $value)
jesse2018-09-07 22:40:57
Mula-mula ambil tangkapan skrin rasmi untuk mengesahkan ketepatan analisis kod sumber asas saya:
jesse2018-09-07 14:49:33
Masih ada beberapa aspek yang perlu dibincangkan tentang isu ini:
1 Memandangkan data wujud dalam atribut data, bagaimana anda menentukan ia adalah atribut data dan membuang set data semasa melintasi objek
2 hanyalah objek Model Jika ia adalah Bagaimana objek Koleksi melaksanakannya?
ArrayAccess sepatutnya muncul apabila kedua-dua masalah ini timbul. Saya akan mengemas kininya apabila saya kembali pada waktu petang, supaya anda benar-benar dapat memahami mekanisme operasi yang mendasari traversal objek.
jesse2018-09-07 14:27:18
Baca arahan manual rasmi dahulu:
Kemudian lihat kod sumber asas:
s banyak butiran dan secara langsung menerangkan hasilnya
Soalan terakhir, kenapa keputusan yang dikembalikan boleh dilalui?
Kedua-dua kelas Model dan kelas Koleksi melaksanakan antara muka ArrayAccess yang sama, supaya anda boleh mengakses sifat dalam objek sama seperti mengakses tatasusunan.