Если вы используете findOrFail сам по себе без сцепления другого метода User::findOrFail(1)
, он будет возвращать коллекцию, но как только вы начинаете добавлять другие условия, которые вы должны вызвать либо ->get()
для сбора пользователей, ->first
или ->last()
для одного объекта пользователя, или если вы делаете что-то с ->lists()
, вы получите массив. В противном случае вы получите класс строитель, вот пример: {{дд (User :: где («ид», 1))}}
Builder {#1097 ▼
#query: Builder {#1096 ▶}
#model: User {#409 ▶}
#eagerLoad: array:1 [▶]
#macros: array:4 [▶]
#onDelete: Closure {#1102 ▶}
#passthru: array:12 [▶]
}
Класс Builder, как подготовленное заявление, которое никогда не выполнен , При вызове dd()
вы должны увидеть что-то похожее на следующее.
Это даст вам набор {{дд (\ App \ User :: где ('идентификатор', 1) -> получить())}}
Collection {#1105 ▼
#items: array:1 [▼
0 => User {#1108 ▼
#cardUpFront: false
#dates: array:3 [▶]
#table: "users"
#fillable: array:2 [▶]
#hidden: array:2 [▶]
#connection: null
#primaryKey: "id"
#perPage: 15
+incrementing: true
+timestamps: true
#attributes: array:17 [▶]
#original: array:17 [▶]
#relations: []
#visible: []
#appends: []
#guarded: array:1 [▶]
#casts: []
#touches: []
#observables: []
#with: []
#morphClass: null
+exists: true
#forceDeleting: false
}
]
}
или получить единый объект {{дд (\ App \ пользователя :: где ('ID', 1) -> первый())}}
User {#1108 ▼
#cardUpFront: false
#dates: array:3 [▶]
#table: "users"
#fillable: array:2 [▶]
#hidden: array:2 [▶]
#connection: null
#primaryKey: "id"
#perPage: 15
+incrementing: true
+timestamps: true
#attributes: array:17 [▶]
#original: array:17 [▶]
#relations: []
#visible: []
#appends: []
#guarded: array:1 [▶]
#casts: []
#touches: []
#observables: []
#with: []
#morphClass: null
+exists: true
#forceDeleting: false
}
и, наконец, массив с {{дд (\ App \ User :: где ('id', 1) -> списки ('email', 'id'))}}
array:1 [▼
1 => "[email protected]"
]
Надеюсь, это поможет.
Я думаю, вам нужно показать какую-то работу над тем, что вы пытаетесь, что не работает. –