在laravel

时间:2018-02-20 04:29:41

标签: javascript laravel

  

对不起标题,我真的不知道如何描述它。

我有JavaScript返回的数据,但我的数据还有其他与ORM相关的数据,我也需要这些数据。

这是我在所选选项上返回的数据:

Object { id: 1, address: "hrktgui erhoutruei9utgy", postalcode: "154785", user_id: 1, city_id: 1, state_id: 10, country_id: 102, created_at: "2018-02-09 13:28:22", updated_at: "2018-02-09 13:28:22" }

我需要这些数据:

  1. 地址
  2. 邮编
  3. 城市名称(在city_id下提供)
  4. 州名(在state_id下提供)
  5.   

    我的问题是检索该城市和州名

    稍后我想将这4个数据作为隐藏输入添加到我的视图中,以便我可以将它用于我的其他功能。

    这是我的js代码:

    <script type="text/javascript">
      $(document).ready(function() {
        $('select[name="address_id"]').on('change', function() {
          var addressID = $(this).val();
          if(addressID) {
          $.ajax({
            url: '{{ url('addressdetails') }}/'+encodeURI(addressID),
            type: "GET",
            dataType: "json",
            success:function(data) {
            $('div#details').empty();
            console.log(data['address']);
            console.log(data);
            // $.each(data, function(key, value) {
            //     $('div#details').append('<input type="hidden" name="shipment_price" value="'+...+'"><input type="hidden" name="shipment_price" value="'+...+'">');
            //     });
            }
          });
          }else{
            $('div#details').empty();
          }
        });
      });
    </script>
    

    我的HTML:

    <div id="details"></div>
    

    我的职能:

    public function getAddressDetails($id)
    {
            $address = Address::findOrFail($id);
            return response()->json($address);
    }
    

    我的路线:

    Route::get('addressdetails/{id}', 'CartController@getAddressDetails');
    

1 个答案:

答案 0 :(得分:2)

它的一个对象。试试这个。

success:function(data) {
        var statename = data.state.name;
        var cityname = data.city.name;
}

修改 &#34;我的问题是检索那个城市和州名&#34;

您的查询需要使用预先加载

示例:

return response()->json(Address::with(['city','state'])->find($id));
地址模型中的

class Address {
      ...
      ...
      public function city(){
          return $this->belongsTo(City::class);
      }
      public function state(){
          return $this->belongsTo(State::class);
      }
}