我试图通过一些Id计算行数,我得到的是:
型号:
sort(unique(colnames(df.train))
控制器:
<?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);
}
}
如何从表记录中获取行数,与域中的db相同。
答案 0 :(得分:1)
要计算行数,我使用:
Laravel控制器:
public function index() {
$domains = Domain::all();
$domains = Domain::with('records')->get();
return $domains;
}
角度控制器:
vm.getDomains = function () {
$http.get('api/domains').success(function(domains) {
vm.domains = domains;
}).error(function(error) {
vm.error = error;
});
}
角度观点:
<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的回答,帮助我找到答案。
答案 1 :(得分:0)
解决方案很简单。使用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;
});
}
})();
答案 2 :(得分:0)
您可以在laravel代码中使用以下内容。
$count = Domains::count()
知道域表中的总行数。
U也可以使用
$records = records::where('domain_id', '=', $domain_id)->get();
count($records);
知道提取的记录总数。