Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 未定义变量问题Laravel 5.4_Php_Laravel_Laravel 5.4 - Fatal编程技术网

Php 未定义变量问题Laravel 5.4

Php 未定义变量问题Laravel 5.4,php,laravel,laravel-5.4,Php,Laravel,Laravel 5.4,我一直被这个错误困扰着,所以如果有机会,请原谅我,因为我在拉雷维尔还是新手。我犯了这个错误 未定义变量:clientTransactions(视图: C:\xampp\htdocs\dcgwapo\resources\views\service\u details\create.blade.php) 但我有一个正确的代码,但我仍然想知道为什么它仍然是未定义的变量,因为我在我的控制器中定义了它 在服务详细信息代码中创建.blade.php <div class="form-group">

我一直被这个错误困扰着,所以如果有机会,请原谅我,因为我在拉雷维尔还是新手。我犯了这个错误

未定义变量:clientTransactions(视图: C:\xampp\htdocs\dcgwapo\resources\views\service\u details\create.blade.php)

但我有一个正确的代码,但我仍然想知道为什么它仍然是未定义的变量,因为我在我的控制器中定义了它

在服务详细信息代码中创建.blade.php

<div class="form-group">
    <label for="client_transaction_id">Client Trans ID: </label>
    <select class="form-control" name="client_transaction_id">
        @foreach ($clientTransactions as $clientTransaction)
            <option value= "{{ $clientTransaction->id }}">
              {{ $clientTransaction->id }}
            </option>
        @endforeach
    </select>
  </div>
ServiceDetail.php模型代码

public function clientTransaction()
{
  return $this->belongsTo(ClientTransaction::class);
}

我希望你能帮助我。谢谢

您以错误的方式向视图发送变量。seconds参数应该是包含所有变量的数组。现在,为每个变量向
视图
函数添加一个新参数

view('view'、[…]、[…]、[…])

应该是这样的:

view('view',[…1,…2,…3])

因此,您需要更改的是返回语句:

return view('service_details.create', ['users' => User::all(), 'services' => Service::all(), 'clientTransactions' => ClientTransaction::all()]);

您以错误的方式向视图发送变量。seconds参数应该是包含所有变量的数组。现在,为每个变量向
视图
函数添加一个新参数

view('view'、[…]、[…]、[…])

应该是这样的:

view('view',[…1,…2,…3])

因此,您需要更改的是返回语句:

return view('service_details.create', ['users' => User::all(), 'services' => Service::all(), 'clientTransactions' => ClientTransaction::all()]);

view
函数的第二个参数接受一个关联的数据数组,您要传递一个数组的indexedArray,只需使用这个return语句就可以了


view
函数的第二个参数接受一个关联的数据数组,您要传递一个数组的indexedArray,只需使用这个return语句就可以了

You can use compact to pass data from controller to view:



        public function create()
        {
            $users = User::pluck('fname', 'lname', 'id');
            $services = Service::pluck('name', 'id');
            $clientTransactions = ClientTransaction::all();
            return view('service_details.create',compact('users','services','clientTransactions');
        } 
    return view('service_details.create', [
        'users' => User::all(),
        'services' => Service::all(),
        'clientTransactions' => ClientTransaction::all()
    ]);