Кажется, мой валидация не совсем корректна, поэтому я получаю это сообщение об ошибке, пока я пытаюсь хранить платежи в моей базе данных.Я пробовал проверить, и я получаю этот mesaage: Метод [validateString] не существует
У меня есть проверенные связанные вопросы, но это не помогло. Я создал FeeValidator, который расширяет валидатора с этим массивом:
<?php namespace \Events\Services\Validations;
use \Events\Services\Validations\AbstractValidator as Validator;
class FeeValidator extends Validator {
protected $rules = array(
'title' => 'required',
'price' => 'required|numeric',
'quantity' => 'integer',
'valid_from' => 'date',
'valid_to' => 'date',
'ticket_limit' => 'integer',
'url_redirect' => 'string',
);
}
Тогда у меня есть FeesRepository с этой функциеймагазин() в FeesRepository класса:
<?php namespace \Events\Repositories;
use \Events\Models\Fee as Fees;
use \Events\Models\Event as Event;
use \Events\Repositories\Contracts\FeesRepositoryInterface;
use \Events\Services\Validations\FeeValidator;
class FeeRepository implements FeesRepositoryInterface {
protected $theme;
protected $feeValidator;
public function store($eventId) {
$validation = $this->feeValidator->with(\Input::all());
if ($validation->passes()) {
$fee = new Fees;
$fee->event_id = $eventId;
$fee->title = \Input::get('title');
$fee->price = \Input::get('price');
$fee->quantity = \Input::get('quantity') == "" ? 1 : \Input::get('quantity');
$fee->discount = \Input::get('discount');
$fee->valid_from = \Input::get('valid_from');
$fee->valid_to = \Input::get('valid_to');
$fee->coupon = \Input::get('coupon') == "" ? null : \Input::get('coupon');
$fee->tickets_limit = \Input::get('ticket_limit');
$fee->url_redirect = \Input::get('url_redirect');
$fee->save();
$id = $fee->event->id;
if ($fee->event->eventable_type == '\Events\Models\Training')
{
return \Redirect::route('admin.training.edit' , array($id));
}
elseif($fee->event->eventable_type == '\Events\Models\Meetup') {
return \Redirect::route('admin.meetup.edit' , array($id));
}
else
{
return \Redirect::route('admin.conference.edit' , array($id));
}
}
else {
return \Redirect::back()->withInput()->withErrors($this->feeValidator->errors());
}
}
}
Наконец вы может проверить мою функцию ( в FeesController :
<?php namespace \Events\Controllers;
use \Events\Repositories\FeeRepository as Fee;
use \Events\Models\Fee as Fees;use \Events\Services\Validations\FeeValidator;
class FeesController extends \BaseController {
protected $fee;
protected $feeValidator;
public function __construct(Fee $fee , FeeValidator $feeValidator)
{
$this->fee = $fee;
$this->feeValidator = $feeValidator;
}
public function store($eventId) {
return $this->fee->store($eventId);
}
}
Im интересно, в чем проблема. Может кто-нибудь дать мне подсказку! Thanks!
Какая ошибка вы принимаете? – Daniel
опубликовать вашу ошибку. –