laravel试图获取非对象错误的属性“ id”

leodarbkillah darb

我正在处理其他人的代码,当我部署laravel应用程序时,登录页面有效,但是当我输入测试凭据时,它会吐出此错误

    Trying to get property 'id' of non-object
    in helpers.php line 159
    at HandleExceptions->handleError(8, 'Trying to get property \'id\' of non-object', '/var/www/html/first-project/app/Helpers/helpers.php', 159, array('fields' => object(Collection), 'fieldsValues' => object(Collection), 'htmlFields' => array(), 'startSeparator' => '<div style="flex: 50%;max-width: 50%;padding: 0 4px;" class="column">', 'endSeparator' => '</div>', 'field' => object(CustomField), 'dynamicVars' => array('$RANDOM_VARIABLE$' => 'var15931958241638660037ble', '$FIELD_NAME$' => 'phone', '$DISABLED$' => '', '$REQUIRED$' => '"required" => "required",', '$MODEL_NAME_SNAKE$' => 'user', '$FIELD_VALUE$' => '\'+136 226 5660\'', '$INPUT_ARR_SELECTED$' => '+136 226 5660'), 'gf' => object(GeneratorField), 'value' => object(CustomFieldValue)))
    in helpers.php line 159

所指的实际功能如下

function generateCustomField($fields, $fieldsValues = null)
{
    $htmlFields = [];
    $startSeparator = '<div style="flex: 50%;max-width: 50%;padding: 0 4px;" class="column">';
    $endSeparator = '</div>';
    foreach ($fields as $field) {
        $dynamicVars = [
            '$RANDOM_VARIABLE$' => 'var' . time() . rand() . 'ble',
            '$FIELD_NAME$' => $field->name,
            '$DISABLED$' => $field->disabled === true ? '"disabled" => "disabled",' : '',
            '$REQUIRED$' => $field->required === true ? '"required" => "required",' : '',
            '$MODEL_NAME_SNAKE$' => getOnlyClassName($field->custom_field_model),
            '$FIELD_VALUE$' => 'null',
            '$INPUT_ARR_SELECTED$' => '[]',

        ];
        $gf = new GeneratorField();
        if ($fieldsValues) {
            foreach ($fieldsValues as $value) {
                if ($field->id === $value->customField->id) {
                    $dynamicVars['$INPUT_ARR_SELECTED$'] = $value->value ? $value->value : '[]';
                    $dynamicVars['$FIELD_VALUE$'] = '\'' . addslashes($value->value) . '\'';
                    $gf->validations[] = $value->value;
                    continue;
                }
            }
        }
        // dd($gf->validations);
        $gf->htmlType = $field['type'];
        $gf->htmlValues = $field['values'];
        $gf->dbInput = '';
        if ($field['type'] === 'selects') {
            $gf->htmlType = 'select';
            $gf->dbInput = 'hidden,mtm';
        }
        $fieldTemplate = HTMLFieldGenerator::generateCustomFieldHTML($gf, config('infyom.laravel_generator.templates', 'adminlte-templates'));


        if (!empty($fieldTemplate)) {
            foreach ($dynamicVars as $variable => $value) {
                $fieldTemplate = str_replace($variable, $value, $fieldTemplate);
            }
            $htmlFields[] = $fieldTemplate;
        }
//    dd($fieldTemplate);
    }
    foreach ($htmlFields as $index => $field) {
        if (round(count($htmlFields) / 2) == $index + 1) {
            $htmlFields[$index] = $htmlFields[$index] . "\n" . $endSeparator . "\n" . $startSeparator;
        }
    }
    $htmlFieldsString = implode("\n\n", $htmlFields);
    $htmlFieldsString = $startSeparator . "\n" . $htmlFieldsString . "\n" . $endSeparator;
//    dd($htmlFieldsString);
    $renderedHtml = "";
    try {
        $renderedHtml = render(Blade::compileString($htmlFieldsString));
//        dd($renderedHtml);
    } catch (FatalThrowableError $e) {
    }
    return $renderedHtml;
}

在控制器中的用法如下。几乎在所有控制器中都多次使用它,例如在UserController.php文件中,我认为这是调用方法。我对Laravel不太了解,因此对事先的菜鸟错误感到很抱歉。

public function profile()
    {
        $user = $this->userRepository->findWithoutFail(auth()->id());
        unset($user->password);
        $customFields = false;
        $role = $this->roleRepository->pluck('name', 'name');
        $rolesSelected = $user->getRoleNames()->toArray();
        $customFieldsValues = $user->customFieldsValues()->with('customField')->get();
        $hasCustomField = in_array($this->userRepository->model(), setting('custom_field_models', []));
        if ($hasCustomField) {
            $customFields = $this->customFieldRepository->findByField('custom_field_model', $this->userRepository->model());
            $customFields = generateCustomField($customFields, $customFieldsValues);
        }
        return view('settings.users.profile', compact(['user', 'role', 'rolesSelected', 'customFields', 'customFieldsValues']));
    }
AA诺曼

您必须更改此行

$user = $this->userRepository->findWithoutFail(auth()->id());

$user = $this->userRepository->findWithoutFail(auth()->user()->id());

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

更新错误-试图获取Laravel 5.8中非对象的属性'id'

来自分类Dev

试图使用laravel获取非对象的属性'id'

来自分类Dev

Laravel-试图获取非对象的属性“ id”,而不是dd

来自分类Dev

试图在控制器 Laravel 中获取非对象 Auth::user()->id 的属性“id”?

来自分类Dev

为什么会出现此错误?“试图获取非对象的属性'id'”

来自分类Dev

ErrorException (E_ERROR) 试图在 laravel 5.8 中获取非对象的属性“id”

来自分类Dev

将Laravel Test 7和Laravel Passport 9.3与Personal Access Client一起使用会出现异常“试图获取非对象的属性'id'”

来自分类Dev

Laravel,Dropzone“试图获取非对象的属性”文件上传错误

来自分类Dev

Laravel关系错误-试图获取非对象的属性

来自分类Dev

试图获取非对象的属性。Laravel中的错误

来自分类Dev

Laravel关系错误-试图获取非对象的属性

来自分类Dev

试图获取非对象的属性。Laravel中的错误

来自分类Dev

Laravel5.2错误“试图获取非对象的属性”

来自分类Dev

Laravel 5.1中的“试图获取非对象的属性”错误

来自分类Dev

绕过 Laravel 中的“试图获取非对象的属性”错误

来自分类Dev

试图在 laravel 5.4 上获取非对象错误的属性

来自分类Dev

试图获取非对象的属性“ id”。我正在尝试在我的app.blade.php中进行自动通知

来自分类Dev

注意:试图获取非对象错误的属性

来自分类Dev

“试图获取非对象的属性”错误PHP

来自分类Dev

PHP错误“试图获取非对象的属性”

来自分类Dev

尝试在 Laravel 中获取 ID 时尝试获取非对象的属性

来自分类Dev

试图获取非对象的属性-Laravel

来自分类Dev

试图获取非对象的属性[laravel 5.2]

来自分类Dev

php Laravel试图获取非对象的属性

来自分类Dev

Laravel Join:试图获取非对象的属性

来自分类Dev

ErrorException试图获取非对象Laravel的属性

来自分类Dev

试图获取非对象Laravel的属性“浴室”

来自分类Dev

laravel试图获取非对象的属性

来自分类Dev

试图在laravel中获取非对象的属性

Related 相关文章

  1. 1

    更新错误-试图获取Laravel 5.8中非对象的属性'id'

  2. 2

    试图使用laravel获取非对象的属性'id'

  3. 3

    Laravel-试图获取非对象的属性“ id”,而不是dd

  4. 4

    试图在控制器 Laravel 中获取非对象 Auth::user()->id 的属性“id”?

  5. 5

    为什么会出现此错误?“试图获取非对象的属性'id'”

  6. 6

    ErrorException (E_ERROR) 试图在 laravel 5.8 中获取非对象的属性“id”

  7. 7

    将Laravel Test 7和Laravel Passport 9.3与Personal Access Client一起使用会出现异常“试图获取非对象的属性'id'”

  8. 8

    Laravel,Dropzone“试图获取非对象的属性”文件上传错误

  9. 9

    Laravel关系错误-试图获取非对象的属性

  10. 10

    试图获取非对象的属性。Laravel中的错误

  11. 11

    Laravel关系错误-试图获取非对象的属性

  12. 12

    试图获取非对象的属性。Laravel中的错误

  13. 13

    Laravel5.2错误“试图获取非对象的属性”

  14. 14

    Laravel 5.1中的“试图获取非对象的属性”错误

  15. 15

    绕过 Laravel 中的“试图获取非对象的属性”错误

  16. 16

    试图在 laravel 5.4 上获取非对象错误的属性

  17. 17

    试图获取非对象的属性“ id”。我正在尝试在我的app.blade.php中进行自动通知

  18. 18

    注意:试图获取非对象错误的属性

  19. 19

    “试图获取非对象的属性”错误PHP

  20. 20

    PHP错误“试图获取非对象的属性”

  21. 21

    尝试在 Laravel 中获取 ID 时尝试获取非对象的属性

  22. 22

    试图获取非对象的属性-Laravel

  23. 23

    试图获取非对象的属性[laravel 5.2]

  24. 24

    php Laravel试图获取非对象的属性

  25. 25

    Laravel Join:试图获取非对象的属性

  26. 26

    ErrorException试图获取非对象Laravel的属性

  27. 27

    试图获取非对象Laravel的属性“浴室”

  28. 28

    laravel试图获取非对象的属性

  29. 29

    试图在laravel中获取非对象的属性

热门标签

归档