小编use*_*497的帖子

在Laravel 5 Controller中找不到类'App\Http\Controllers\DB'

我在使用laravel 5查询构建器进行Employee管理系统时遇到问题.这是我的EmployeesController

<?php

namespace App\Http\Controllers;

use App\Employee;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class EmployeesController extends Controller
{

    public function index()
    {
        // $employees = Employee::all();
        // return view('employees.index', compact('employees'));

        $employees = DB::table('employees')->get();

        return view('employees.index', compact('employees'));
    }

}
Run Code Online (Sandbox Code Playgroud)

当我使用注释掉的代码时,视图工作,我可以看到我的员工列表

$employees = Employee::all();
return view('employees.index', compact('employees'));
Run Code Online (Sandbox Code Playgroud)

我在这里看到了答案,我按照建议做了但没有运气.我添加了使用DB; 在命名空间声明之后还尝试了代码

$employees = \DB::table('employees')->get();
Run Code Online (Sandbox Code Playgroud)

但是它会引发另一个错误,即在第6行的非对象上调用成员函数count().我甚至从C:\ xampp\htdocs\laravel5project\vendor\laravel\framework\src \复制了DB.php文件照亮\ Support\Facades到App文件夹(C:\ xampp\htdocs\laravel5project\app)但仍然没有运气.我也试图明确地给它命名空间

use Illuminate\Support\Facades\DB
Run Code Online (Sandbox Code Playgroud)

这是观点

@extends('layouts.default')
@section('PageTitle', 'Employee List')
@section('content')

@if ( !$employees->count() )
    There are no Employees!
@else    

<table id="tblEmployee" class="table table-striped table-bordered" cellspacing="0" …
Run Code Online (Sandbox Code Playgroud)

laravel laravel-5

7
推荐指数
1
解决办法
2万
查看次数

使用我的应用程序中嵌入的NanoHttpd服务器查看在Assets文件夹中找到的index.html

我有一个应用程序(我们称它为主应用程序),它在资产文件夹中有一个index.html页面。index.html是带有一些JavaScript的简单HTML文件。它不需要PHP或MySql。

我想做的是将NanoHttpd服务器嵌入到我的主应用程序中,并在应用程序启动或恢复时自动启动Nano服务器,并在我的应用程序中查看我的index.html文件。虽然我知道我可以使用

webView.loadUrl("file:///android_asset/index.html"); 
Run Code Online (Sandbox Code Playgroud)

要访问index.html文件,在这种情况下是不可能做到的。因此需要使用Web服务器。

现在,我有一个与Web服务器不同的专用应用程序,该应用程序在http:// localhost:8080上运行。当我打开主应用程序时,它会自动运行。如您所见,为了查看HTML文件,您需要启动Web服务器,启动它,然后回到Main应用程序并启动它。我想要一个解决方案,其中当我在我的主应用程序吃午饭时,NanoHttpd服务器会自动启动,并开始在Web视图上显示index.html内容。这是我的代码,可以在我的主应用程序和网络服务器上完美运行

   WebView wv;
   wv = (WebView) findViewById(R.id.webView1);
   WebSettings webSettings = wv.getSettings();
   webSettings.setJavaScriptEnabled(true);
   wv.loadUrl("http://localhost:8080/index.html");   
Run Code Online (Sandbox Code Playgroud)

尽管O找不到确切的文档,但我尝试了以下链接中的两种不同方法

  1. 在Android中使用NanoHTTPD

  2. http://programminglife.io/android-http-server-with-nanohttpd/

两者都不起作用,一个仅显示白页,而其他仅给我响应,表明服务器正在运行。

那么,当我的应用程序启动时,如何自动启动NanoHttpd服务器并从资产文件夹自动将html文件启动至Webview?如果对NanoHttpd的要求太多,是否还有另一种方法将Web服务器嵌入到应用程序中并启动index.html?

webserver android android-webview

5
推荐指数
0
解决办法
283
查看次数

获取 Laravel 5.2 Collection 中列名的唯一值计数

我试图从我的产品表中获取独特品牌的数量,以及来自 Laravel 集合的数量。

我能够使用产品的特定查询来做到这一点,但我现在使用集合的原因是因为我还想获得产品的产品来源(国家/地区)、条件(使用/新),我认为它使用来自一个查询的集合会更好,而不是对每个数据使用三个单独的查询。

下面的代码有效,但没有显示每个唯一品牌的计数。

这是表 在此处输入图片说明

这是我的控制器

$products = DB::table('products')
 ->select('products.*')
 ->whereNull('products.deleted_at')
 ->get();

$BrandCollection = collect($products);
$Brands = $BrandCollection->unique('Brand')->sortBy('Brand')->keyBy('Brand')->pluck('Brand');
Run Code Online (Sandbox Code Playgroud)

所以,我正在寻找的结果是

惠普 3
东芝 2
联想 1

我认为可以使用 concat 来完成集合,但由于我使用的是 Laravel 5.2,我正在寻找其他解决方案。

php laravel laravel-5 laravel-collection laravel-5.2

1
推荐指数
1
解决办法
2742
查看次数