我是 Laravel 的初学者。我了解 CRUD,OOP,创建了一些小应用程序。但是现在我需要将 easypost.com API 集成到 Laravel 项目中。我现在想创建一个简单的邮资计算器。我有一个页面,表格底部和下方是表格,我想显示所有邮资选项和费率等。现在我有 PostageCalculator 控制器并将索引函数放入:
public function index()
{
\EasyPost\EasyPost::setApiKey(env('EASYPOST_API'));
$shipment = \EasyPost\Shipment::create(array(
"to_address" => array(
'name' => 'Dr. Steve Brule',
'street1' => '3993 Glen Meadow Dr',
'city' => 'Norcross',
'state' => 'GA',
'zip' => '30092',
'country' => 'US',
'phone' => '3331114444',
'email' => 'dr_steve_brule@gmail.com'
),
"from_address" => array(
'name' => 'EasyPost',
'street1' => '417 Montgomery Street',
'street2' => '5th Floor',
'city' => 'Brno',
'state' => 'CZ',
'zip' => '60200',
'country' => 'CZ',
'phone' => '3331114444',
'email' => 'support@easypost.com'
),
"parcel" => array(
"length" => 1,
"width" => 1,
"height" => 1,
"weight" => 352.74
)
));
return view ('pages.rates', [
'shipment' => $shipment
]);
}
所以我将 $shipment 变量发送到 rates.blade.php 视图并使用 foreach 显示我需要的所有信息。但我也有一个表格,我想在其中选择运输和交货国家,并且可以允许用户输入他们的重量、尺寸等,所以我创建了这个表格
<form action="/rates" method="post">
@csrf
@method('post')
{{-- Zeme odeslani --}}
<div class="container">
<div class="row">
<div class="col">
<div class="form-group">
<label>Země odeslání</label>
@error('text')
<div class="alert alert-danger" role="alert">{{$message}}
</div>
@enderror
<select class="form-select" aria-label="Default select example">
<option selected>Vyberte zemi</option>
<option value="CZ" name="CZ">Česká republika</option>
<option value="US" name="US">USA</option>
<option value="SK" name="SK">Slovensko</option>
</select>
</div>
</div>
<div class="col">
<div class="form-group">
<label>Země doručení</label>
@error('text')
<div class="alert alert-danger" role="alert">{{$message}}
</div>
@enderror
<select class="form-select" aria-label="Default select example">
<option selected>Vyberte zemi</option>
<option value="CZ" name="CZ">Česká republika</option>
<option value="US" name="US">USA</option>
<option value="SK" name="SK">Slovensko</option>
</select>
</div>
</div>
</div>
</div>
<div class="container">
<div class="form-group">
<label>Rozměry:</label>
@error('text')
<div class="alert alert-danger" role="alert">{{$message}}
</div>
@enderror
<div class="row">
<div class="col"><input type="text" class="form-control" name="weight" placeholder="Váha (kg)" ></div>
<div class="col"><input type="text" class="form-control" name="width" placeholder="Šířka (cm)" ></div>
<div class="col"><input type="text" class="form-control" name="height" placeholder="Výška (cm)" ></div>
<div class="col"><input type="text" class="form-control" name="`lenght`" placeholder="Délka (cm)" ></div>
</div>
<br>
< button type="submit" class="btn btn-primary">Spočítat cenu</button>
</form>
</div>
和 type="submit" 的按钮。我的问题是我知道我需要以某种方式在我的控制器上使用 store () 函数来从表单中获取请求,但是,我不知道如何。
我想从 index() 函数中获取 $shipment 请求,但是我在刀片上使用 foreach 并且它不知道变量 $shipment。而且我不知道如何使用 2 个选项表单。如果我有选择
<select class="form-select" aria-label="Default select example">
<option selected>Vyberte zemi</option>
<option value="CZ" name="CZ">Česká republika</option>
<option value="US" name="US">USA</option>
<option value="SK" name="SK">Slovensko</option>
</select>
一种选择表格用于发货地址,第二张用于收货地址。如何从表单中获取请求并在同一包裹计算器页面上显示 EasyPost 的结果?尝试过类似的东西:
'country' => $request->input['formname'],
但没有运气。另外,我不知道如何创建和分离从发货和发货到选择表单的值。你能建议吗?非常感谢。,这对我来说很新。