我正在做一个我的项目,我想从数据库中获取一个名为“ Clients”的表并显示其数据。很好,这是一件容易的事。现在,我想更新表中的一些数据。考虑到我正在使用Laravel框架,我试图找出执行此操作的最佳方法。
我有以下for循环,用于在中显示数据。
for ($i=0; $i<$clientNumber; $i++) { ?>
<tr>
<td>
<form method="post" action="{{URL::to('/')}}">
{{csrf_field()}} <!-- Used for the token -->
<button type="submit" value="<?php echo $i; ?>" class="editButton" > <i class="fa fa-edit"></i> </button>
</form>
</td>
<td> <?php echo $data[$i]->clientId; ?> </td>
<td> <?php echo $data[$i]->clientFirstname; ?> </td>
<td> <?php echo $data[$i]->clientSurname; ?> </td>
<td> <?php echo $data[$i]->clientEmail; ?> </td>
<td> <?php echo $data[$i]->clientMobile; ?> </td>
<td> <?php echo $data[$i]->clientPhone; ?> </td>
<td> <?php echo $data[$i]->clientAdrress; ?> </td>
<td> <?php echo $data[$i]->companyName; ?> </td>
<td> <?php echo $data[$i]->companyType; ?> </td>
<td> <?php echo $data[$i]->services; ?> </td>
<td> <?php echo $data[$i]->websiteURL; ?> </td>
<td> <?php echo $data[$i]->renewDate; ?> </td>
<td> <?php echo $data[$i]->totalPrice; ?> </td>
<td> <?php echo $data[$i]->deposit; ?> </td>
<td> <?php echo $data[$i]->balance; ?> </td>
<td> <?php echo $data[$i]->serverPrice; ?> </td>
<td> <?php echo $data[$i]->comments; ?> </td>
<input type="hidden" name="rowId" value="<?php echo $i; ?>">
</tr>
<?php
}
如您所见,我已经添加了以下代码
<button type="submit" value="<?php echo $i; ?>" class="editButton" > <i class="fa fa-edit"></i> </button>
这样我可以在每一行上都有一个按钮,单击时会提示我进入编辑区域。
我想解决此问题而不加载其他页面。例如,我已经开发了一个带有<form>
的版本,单击该按钮后,我将被重定向到新页面。
我很挣扎,因为我不知道如何在Laravel中形成依赖于行号的SQL查询(在按下按钮或类似按钮后才能知道)。例如SELECT * FROM table WHERE id==XXX
。
问题是否足够清楚?
感谢您的宝贵时间, -瓦西里斯
答案 0 :(得分:1)
我想更新表中的某些数据...而无需加载其他页面...以在Laravel中形成依赖于行号的SQL查询... 。
我强烈建议您浏览Laravels blade documentation。
* 已编辑以使用路由模型绑定
您的控制器:
use App/Client;
public function update(Request $request, Client $client)
{
$client->update($request->all());
// Then, return back to the view
return back()->with('success', 'Field updated successfully!');
}
刀片:
<!-- optional -->
@if (session('success'))
<div class="alert alert-success" role="alert">
{{ session('success') }}
</div>
@endif
<form method="POST" action="/your/route/{{ $i }}">
@csrf
@method('PUT')
<!-- form inputs -->
<button type="submit" class="editButton">Edit</button>
</form>
您的网络路线文件:
Route::put('/your/route/{client}', 'YourController@update')->name('update-client');