计算行 laravel 5.2 和 angularjs
count rows laravel 5.2 and angularjs
我正在尝试通过一些 ID 获取行数,我得到的是:
型号:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Domains extends Model
{
protected $connection ='dns';
protected $table = 'domains';
protected $fillable = [
'id', 'name', 'master', 'last_check', 'type'
];
public $timestamps = false;
public function records(){
return $this->hasMany('App\Models\Records');
}
}
控制器:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Models\Domains;
class DomainsController extends Controller
{
public function index() {
$domains = Domains::all();
$records = records::where('domain_id', '=', $domain_id)->get();
return $domains;
}
public function show($id) {
$domain_id = $id;
$records = Records::where('domain_id', '=', $domain_id)->get();
//return $records;
return View::make('domainView.show')->with('records', $records);
}
}
但是当我在前端访问域时,我无法获取记录数;
前端控制器:
(function() {
'use strict';
angular
.module('webServices')
.controller('DomainController', DomainController);
function DomainController($http) {
var vm = this;
vm.domains;
vm.error;
$http.get('api/domains').success(function(domains) {
console.log(domains);
vm.domains = domains;
}).error(function(error) {
vm.error = error;
});
}
})();
如何从 table 记录中获取行数,与域在同一个数据库中。
解决方法很简单。使用 length
,不是 AngularJS,而是原生的 JavaScript:
console.log(vm.domains.length); // prints number of domains to console
或者
alert(vm.domains.length); // gives an alert with number of domains to console
你的 AngularJS 看起来像:
(function() {
'use strict';
angular
.module('webServices')
.controller('DomainController', DomainController);
function DomainController($http) {
var vm = this;
vm.domains = [];
vm.error = null;
$http.get('api/domains').success(function(domains) {
vm.domains = domains;
console.log(vm.domains.length); // Prints length of domains in your console;
}).error(function(error) {
vm.error = error;
});
}
})();
您可以在 laravel 代码中使用以下内容。
$count = Domains::count()
了解域中的总行数 table。
你也可以用
$records = records::where('domain_id', '=', $domain_id)->get();
count($records);
了解获取的记录总数。
为了计算行数,我使用:
Laravel 控制器:
public function index() {
$domains = Domain::all();
$domains = Domain::with('records')->get();
return $domains;
}
Angular 控制器:
vm.getDomains = function () {
$http.get('api/domains').success(function(domains) {
vm.domains = domains;
}).error(function(error) {
vm.error = error;
});
}
Angular 视图:
<tbody ng-repeat="domain in domain.domains">
<tr>
<td>{{domain.name}}</td>
<td>{{domain.type}}</td>
<td>{{domain.records.length}}</td>
</tr>
</tbody>
感谢@somu 和@Schellingerht 的回答,帮助我得到答案。
我正在尝试通过一些 ID 获取行数,我得到的是:
型号:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Domains extends Model
{
protected $connection ='dns';
protected $table = 'domains';
protected $fillable = [
'id', 'name', 'master', 'last_check', 'type'
];
public $timestamps = false;
public function records(){
return $this->hasMany('App\Models\Records');
}
}
控制器:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Models\Domains;
class DomainsController extends Controller
{
public function index() {
$domains = Domains::all();
$records = records::where('domain_id', '=', $domain_id)->get();
return $domains;
}
public function show($id) {
$domain_id = $id;
$records = Records::where('domain_id', '=', $domain_id)->get();
//return $records;
return View::make('domainView.show')->with('records', $records);
}
}
但是当我在前端访问域时,我无法获取记录数;
前端控制器:
(function() {
'use strict';
angular
.module('webServices')
.controller('DomainController', DomainController);
function DomainController($http) {
var vm = this;
vm.domains;
vm.error;
$http.get('api/domains').success(function(domains) {
console.log(domains);
vm.domains = domains;
}).error(function(error) {
vm.error = error;
});
}
})();
如何从 table 记录中获取行数,与域在同一个数据库中。
解决方法很简单。使用 length
,不是 AngularJS,而是原生的 JavaScript:
console.log(vm.domains.length); // prints number of domains to console
或者
alert(vm.domains.length); // gives an alert with number of domains to console
你的 AngularJS 看起来像:
(function() {
'use strict';
angular
.module('webServices')
.controller('DomainController', DomainController);
function DomainController($http) {
var vm = this;
vm.domains = [];
vm.error = null;
$http.get('api/domains').success(function(domains) {
vm.domains = domains;
console.log(vm.domains.length); // Prints length of domains in your console;
}).error(function(error) {
vm.error = error;
});
}
})();
您可以在 laravel 代码中使用以下内容。
$count = Domains::count()
了解域中的总行数 table。
你也可以用
$records = records::where('domain_id', '=', $domain_id)->get();
count($records);
了解获取的记录总数。
为了计算行数,我使用:
Laravel 控制器:
public function index() {
$domains = Domain::all();
$domains = Domain::with('records')->get();
return $domains;
}
Angular 控制器:
vm.getDomains = function () {
$http.get('api/domains').success(function(domains) {
vm.domains = domains;
}).error(function(error) {
vm.error = error;
});
}
Angular 视图:
<tbody ng-repeat="domain in domain.domains">
<tr>
<td>{{domain.name}}</td>
<td>{{domain.type}}</td>
<td>{{domain.records.length}}</td>
</tr>
</tbody>
感谢@somu 和@Schellingerht 的回答,帮助我得到答案。