2014-12-10 3 views
-1

Я использую службу $ http в угловой для получения данных из базы данных с помощью успокоительного api. Данные передаются в раскрывающийся список, но когда данные позже отправляются, я получаю «preg_replace(): Несоответствие параметров, шаблон - строка, а замена - ошибка массива.preg_replace(): в laravel и угловом

вот фрагмент кода.

это является услуга

//this is the service in the controller 
 

 

 

 

 
$http.get('/api/payment') 
 
     .then(function(res){ 
 
      
 
      $scope.payment = res.data; 
 
      
 
    
 
    //this post the data to the database 
 
    
 
    save : function(payment_post) { 
 
      return $http({ 
 
       method: 'POST', 
 
       url: '/api/payment', 
 
       headers: { 'Content-Type' : 'application/x-www-form-urlencoded' }, 
 
       data: $.param(payment_post) 
 
      }); 
 
     },
<div class="form-group"> 
 
      <label>payment mode </label> 
 

 
      <select class="form-control input-lg" ng-model="payment_post.name" ng-options="payment.name for payment in payment"></select> 
 

 
      </div>

$ http.get ('/ апи/платеж') .then (функция (Рез) {

 $scope.payment = res.data; 
     }); 

благодарственное вы заранее

удалось установить контакт p а не проблема, с которой сталкиваешься. Угловой передаёт данные по мере необходимости, но laravel не сохраняет его, и большая проблема заключается в контроллере по методу, который данные должны хранить.

// Этот метод

 public function store() 
    { 
    //test if data is passed to laravel from angular js. 
/* 
if (Input::has('name')) 
     { 
      return 'hello'; 
     } 
*/ 
$agent = new Agent(); 
$agent->fname = Input::get('fname'); 
$agent->lname = Input::get('lname'); 
$agent->mname = Input::get('mname'); 
$agent->id_number = Input::get('id_number'); 
$agent->name = Input::get('name'); 
$agent->gender = Input::get('gender'); 
$agent->username = Input::get('username'); 
$agent->save(); 
    // $agent->push(); 
} 

// это модель

<?php 
class Agent extends \Eloquent { 
protected $table = "agent"; 
protected $fillable = [ 
    "id", 
    "fname", 
    "mname", 
    "lname", 
    "username", 
    "id_number", 
    "name", 
    "gender", 
    "created_at", 
    "updated_at" 
]; 
} 

я знаю, что я должен быть отсутствующий что-то любой может указать на это, пожалуйста, для меня.

+0

Вы можете указать jsfiddle для своей проблемы? – Grundy

+0

благодарим вас за ответ, я не очень уверен, если он придет, ясно спросите что-нибудь, и я все еще новичок, поэтому я, возможно, не получу что-то ясно [jsfiddle] (http://jsfiddle.net/bonche/wvzsjgw9/1 /) –

+0

Вы можете указать код для '/ api/payment'? – Grundy

ответ

0

Я решил это после того, как перешел на документацию angularjs, полностью раскрыв мой взгляд, что данные, которые подаются в раскрывающемся списке, находятся в формате json, а не как массив, как я думал, что это путь laravel, почему не в состоянии обрабатывать переданные ему данные для сохранения. угловые имеют разный подход к директиве ng-options.

вот путь выбора.

<select 
    ng-model="payment_post.name" 
    ng-options="value.name as value.name group by value.middle_name for value in payments"> 
    </select> 
Смежные вопросы