一个用户有许多基金交易,当我单击按钮时,我想将一个交易的状态从待处理更新为活动。 我正在使用此模型:
public function up()
{
Schema::create('funds', function (Blueprint $table) {
$table->bigIncrements('id');
$table->unsignedBigInteger('user_id');
$table->string('accnumber')->nullable();
$table->text('Remarks')->nullable();
$table->text('acc_type')->nullable();
$table->string('status')->default('pending');
$table->rememberToken();
$table->timestamps();
$table->index('user_id');
});
}
然后,我使用带有foreach循环的按钮创建了index.blade.php,该循环带有按钮以将默认状态从待处理状态更新为活动状态:
@foreach($user as $user)
<tr>
<td> {{ $user->accno }} </td>
<td>{{ $user->accnumber }}</td>
<td> {{ $user->Remarks }} </td>
<td>{{ $user->acc_type }}</td>
<td>
<input data-id="{{$user->id}}" class="toggle-class" type="checkbox" data-onstyle="success" data-offstyle="danger" data-toggle="toggle" data-on="Active" data-off="InActive" {{ $user->status ? 'pending' : '' }}>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<!-- /.card-body -->
</div>
</div>
</section>
<script>
$(function() {
$('.toggle-class').change(function() {
var status = $(this).prop('pending') == true ? 1 : 0;
var user_id = $(this).data('id');
$.ajax({
type: "GET",
dataType: "json",
url: '/changeStatus',
data: {'status': status, 'user_id': user_id},
success: function(data){
console.log(data.success)
}
});
})
})
</script>
我正在通过在线教程进行此操作,我想使用此控制器自行实现:
public function changeStatus(Request $request)
{
$user = User::find($request->user_id);
$funds = $user->Funds()->status;
$funds = $request->status;
$user->save();
return response()->json(['success'=>'Status change successfully.']);
}
答案 0 :(得分:0)
如果要更改单个用户的所有交易的状态,请执行以下操作:
public function changeStatus(Request $request)
{
$user = User::find($request->user_id);
$user->Funds()->update(['status', $request->status]);
return response()->json(['success' => 'Status changed successfully.']);
}