如何通过Laravel中的链接将数据值传递给另一个页面?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (146)

我正在尝试列出您可以租用的地点。但要租用你需要填写一些信息的地方。要填写这些信息,你会超出另一页。我怎么做到这样laravel知道页面属于某个位置

这就是我现在所做的,但我不断收到错误:

调用未定义的方法App \ Reservation :: location()

一旦我填写了信息领域

这是链接到创建预留文件的刀片文件

@foreach
($locations as $location => $data)
                            <tr>
                                <th>{{$data->id}}</th>
                                <th>{{$data->name}}</th>
                                <th>{{$data->type}}</th>
                                <th><a class="btn" href="{{route('Reservation.index', $data->id)}}">rent</a></th>
                            </tr>

@endforeach

这是创建预订刀片

<form action="{{ route('location.store') }}" method="post">
                        @csrf
                        <label>title</label>
                        <input type="text" class="form-control" name="name"/>
                        <label>type</label>
                        <select>
                            <option value="0">klein</option>
                            <option value="1">groot</option>
                        </select>
                        <button type="submit" class="btn">inschrijven</button>

                    </form>

这就是位置控制器的样子

public function store(Request $request)
    {
        $location = new Reservation;
        $location->name = $request->get('name');
        $location->type = $request->get('type');
        $location->location()->associate($request->location());

        $location->save();

        return redirect('/location');
    }

我的模型中的关系也应该有效

class Reservation extends Model
{
    public function locations()
    {
        return $this->belongsTo('Location::class');
    }
}

class Location extends Model
{
    public function reservations()
    {
        return $this->hasMany('Registration::class');
    }
}

我整天都被困在这里,我真的不知道在哪里看

提问于
用户回答回答于

您得到的错误是因为函数名称错误,您正在调用位置,而它是位置

public function locations(){}

$location->location()->associate($request->location());

并且您可以将变量作为查询参数传递,您需要将此数据作为数组传递到刀片文件中。

Web.php

Route::get('/somewhere/{id?}, function(){
  //do something
})->name('test');

route('test', ['id' => $id]);

控制器方法

public function store(Request $request, $id) //Adding the query parameter for id passed in Route.
{
    $location = new Reservation;
    $location->name = $request->get('name');
    $location->type = $request->get('type');
    $location->location()->associate($id);

    $location->save();

    return redirect('/location');
}

扫码关注云+社区

领取腾讯云代金券