【问题标题】:I want to view my page but it keep saying that undefined variable:$jobs [duplicate]我想查看我的页面,但它一直说未定义的变量:$jobs [重复]
【发布时间】:2021-08-07 07:08:02
【问题描述】:

我希望用户在单击按钮时查看另一个页面。在新页面中,已经从数据库中获取了一些信息。但是,我声明了所有内容,但它仍然说未定义的变量。

form.blade.php

@foreach ($jobs as $job)
    <form action="{{route('job-apply', $job->$id)}}" method="post" enctype="multipart/form-data">
        {{ csrf_field() }}
        <div class="form-group form-group-material a-form-group">
            <label class="label">Full name</label>
            <input type="text" class="form-control" name="fullname" required />
        </div>
        <div class="form-group form-group-material a-form-group">
            <label class="label">Email</label>
            <input type="email" class="form-control" name="email" required />
        </div>
        <div class="form-group form-group-material a-form-group">
            <label class="label">Phone Number</label>
            <input type="tel" class="form-control" name="contact" required />
        </div>
        <div class="form-group form-group-material a-form-group">
            <label class="label">Address</label>
            <textarea class="form-control" name="address" cols="30" rows="3"></textarea>
        </div>
        <div class="form-group form-group-material a-form-group">
            <label class="label">Category</label>
            <input type=text class="form-control" name="category" disabled value="{{ $job->category }}" required />
        </div>
        <div class="form-group form-group-material a-form-group">
            <label class="label">Position</label>
            <input type="text" class="form-control" name="position" disabled value="{{ $job->position}}" required />
        </div>
        <div class="form-group control-file a-file">
            <input type="file" name="attachment" accept=".doc,.pdf" multiple />
            <div class="file-path-wrapper">
                <i class="lni lni-paperclip text-primary"></i>
                <input class="file-path form-control" placeholder="Add Attachment(.doc;.pdf)" />
            </div>
        </div>         
        <button class="btn btn-success" type="submit">Send</button>
    </form>
@endforeach

我的form.blade 中有一个错误

表单控制器

$jobs = Job::get();
$jobs=Job::where('id',$id)->first();
return view('candidate.apply');

有人可以帮助我,因为我是 Laravel 的新手吗?这是我的主页,用户单击按钮并将其重定向到表单

<div class="col-md-2">
    <div class="slide-btn">
        <a href="{{ route('job-apply',$job->id) }}" class="btn btn-success">Apply</a>
    </div>
</div

作业控制器

public function index()
{
    $jobs = Job::get();
    $company = Company::get();
    $menu = Menu::get();
    $current_menu = 4;
    // $jobs = Job::latest()->paginate(5);
    $jobs = Job::
        join('company', 'company.id', '=', 'jobs.company')
        ->get();
        
    return view('jobs.joblist', compact('jobs', 'company', 'menu', 'current_menu'));

}

public function create()
{
    return view('jobs.create');
}


public function store(Request $request)
{
    $request->validate([
    
        'company' => 'required',
        'category' => 'required',
        'position' => 'required',
        'description' => 'required',
        'salary_from' => 'required',
        'salary_to' => 'required',
        // 'status' => 'required|boolean',
    ]);


    Job::create($request->all());

    return redirect()->route('jobs.index');
}
public function show($id)
{
   
    return view('jobs.show', compact('job'));
}

public function edit($id)
{
    return view('jobs.edit', compact('job'));
}



public function update(Request $request, $id)
{
    $request->validate([
        'company' => 'required',
        'category' => 'required',
        'position' => 'required',
        'description' => 'required',
        'salary_from' => 'required',
        'salary_to' => 'required',
        
    ]);

    $jobupdate=Job::where('id',$id)->first();

    $jobupdate->company=$request->company;
    $jobupdate->category=$request->category;
    $jobupdate->position=$request->position;
    $jobupdate->description=$request->description;
    $jobupdate->salary_from=$request->salary_from;
    $jobupdate->salary_to=$request->salary_to;
    

    $jobupdate->save();

    // Job::update($request->all());

    return redirect()->route('jobs.index');
}


public function destroy(Job $job)
{
    $job->delete();

    return redirect()->route('jobs.index');
}

public function active(Request $request)
{
    // dd('text');
    $job = Job::where('company',$request->jobId)->first();
    $activeVal=request()->get('value');
    // dd($activeVal);
    if($activeVal == 1)
    {
        $activeVal=1;
    }else{
        $activeVal=0;
    }
    $job->status=$activeVal;
    $job->save();

    $output['success'] = 'success';

    return response()->json($output, 200);

}

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    您需要使用view的第二个参数将数据传递给视图。

    $jobs = Job::get();
    
    return view('candidate.apply', ['jobs' => $jobs]);
    

    【讨论】:

      【解决方案2】:

      在你的 return 语句中添加 laravel 中的 compact 函数。

      
      $jobs = Job::get();
          
          return view('candidate.apply', compact('jobs'));
      
      

      【讨论】:

      • 我解决了这个问题,但现在它说 undefined variable:$id
      • 代码的哪一部分给出了错误
      • 它在我的 form.blade.php &lt;form action="{{route('job-apply', $job-&gt;$id)}}"
      • 试试这个
        应该可以工作
      • 它还有另一个错误是“尝试获取非对象的属性 'id'”
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-16
      • 1970-01-01
      • 2016-08-11
      • 2022-11-11
      • 1970-01-01
      • 2021-03-07
      • 1970-01-01
      相关资源
      最近更新 更多