Привет, у меня неожиданный '(', ожидая '{' в
это мой код в клинке:
@foreach($invoices as $invoice)
{{$invoice->userinvoiceperson->(function($userinvoiceperson) {return $userinvoiceperson->user->name;})}}
@endforeach
Это мой код в контроллере:
$invoices = Invoice::with(['userinvoiceperson' => function($query){
$query->with('user')->get();
}])->with('userinvoicesubaccount')->where('validate','=',0)->whereBetween('updated_at', [$date1, $date2])->get();
Структура отношений
счета-фактуры в отношении лиц с идентификатором person_id с функцией userinvoiceperson. лица, связанные с пользователем в user_id с функцией пользователя.
Где я пропустил? Спасибо..
РЕДАКТИРОВАТЬ : Вместо этого этот линейный код отлично работает
{{$account->subaccount->sum( function($subaccount) { return $subaccount->subaccountinvoice->sum('amount');})}}
Не уверен, что вы здесь пытаетесь сделать, но это не похоже на правильный код для представления.
Спасибо за проявленный интерес, я отредактировал сообщение, чтобы вы увидели, что у меня работает похожий линейный код.
@Devon Я использую его, и он работает, я получил нужную сумму ..
Что ж, может работать, но не очень читаемо. У вас несколько дополнительных учетных записей? Если да, то почему он назван субсчетом? То же самое и с userinvoiceperson.
@Devon да, перед этой строкой используйте foreach ($ accounts as $ account), потому что у меня несколько учетных записей. и для каждой учетной записи у меня есть несколько дополнительных учетных записей.
Может быть, это языковой барьер, но я здесь именно об этом. Ваши отношения должны называться «вспомогательные учетные записи», а не «вспомогательные учетные записи», потому что у вас их несколько. Не очень удобно иметь коллекции с единственным именем.
вы не добавляли какой-либо метод, как во втором примере, у вас есть sum
@ C2486 да, потому что на этот раз мне не нужна сумма, мне просто нужно значение простой ячейки ..
@ Девон, хорошо, спасибо, сэр, я пытаюсь найти, где я пропустил.
@yassinej, так у вас несколько "userinvoiceperson" или только один? Вот почему я подчеркнул свой предыдущий момент. Если у вас их несколько, какую ценность вы хотите? Если у вас только один, то вам не нужна функция типа «карта / сокращение» для получения значения.
Можете ли вы поделиться образцами вывода для $invoice->userinvoiceperson и что вы ищете?
Еще раз спасибо за ваш интерес. я редактировал пост с полной информацией. мой дд ($ invoices) работает. У меня правильные отношения со счетами / лицами / пользователями
Это не отвечает ни на один из наших вопросов. Вы также неправильно загружаете далекие отношения. Вы никогда не должны использовать get () в закрытии построителя запросов. К сожалению, я не могу больше уделять внимания вашей проблеме. Я думаю, вам нужно потратить больше времени на чтение документации laravel и изучение типов данных, с которыми вы имеете дело.






Мне пришлось написать
{{$invoice->userinvoiceperson->user->name}}
Спасибо
->(, кажется, вызывает ошибку. Вам не хватает имени функции?