小编vis*_*ion的帖子

MYSQL和查询在同一列上满足

项目目标:

我们正在开发Api用户将搜索公交车的公交车时刻.

以下是我的 table structure

我有以下 tables

公共汽车

id | bus_name
Run Code Online (Sandbox Code Playgroud)

表格说明: 存储所有公交车名称

路线

id | route_name
Run Code Online (Sandbox Code Playgroud)

表格描述: 存储所有城市名称

停止

id | stop_name
Run Code Online (Sandbox Code Playgroud)

表格描述: 所有停止名称

stop_orders

id | route_id | stop_id | stop_order
Run Code Online (Sandbox Code Playgroud)

表格描述:这里我将为city和stop_order列分配句点,帮助识别彼此相邻的站点

bus_timing

id | stop_order_id | bus_id | bus_timing | trip | trip_direction
Run Code Online (Sandbox Code Playgroud)

表格说明:在这里,我将为路线停靠分配公交车以及时间和行程和方向

输出期望:

  1. 当用户在时间点之间搜索源到目的地时,Api必须随时间返回所有总线列表

  2. 如果没有直达公交车那么应该显示相互连接的公交

例如,如果用户之间寻找stop_8到stop_18与01:00:00到12:00:00那么随着时间的推移应该show.if直达巴士不在那里所有巴士名单两个站之间的旅行,然后相互连接的链路总线列表应该显示

输出我得到的是

PHP比较基于条件的关联数组

现在的返回结果问题是

  1. 它将返回所有公共汽车,即使公共汽车只是前往stop_8但不是stop_18.但我的结果必须只返回那些将在两站之间行驶的公共汽车,我的意思是它必须落在两站之间.

  2. 即使我不知道如何找到互连的公交车名单

  3. 当时间范围很长时,可能会有相同的公共汽车多次行驶(行程和方向)

更新 仍在寻找答案.现在给出答案有一些点,所以提供赏金

php mysql sql

26
推荐指数
2
解决办法
1308
查看次数

如果在Laravel 5.1中找不到路线,则显示404页面

如果找不到路线,我试图找出未找到404页面.我遵循了许多教程,但它不起作用.我404.blade.php在\laravel\resources\views\errors

也在handler.php中

public function render($request, Exception $e)
{
    if ($e instanceof TokenMismatchException) {
        // redirect to form an example of how i handle mine
        return redirect($request->fullUrl())->with(
            'csrf_error',
            "Opps! Seems you couldn't submit form for a longtime. Please try again"
        );
    }

    /*if ($e instanceof CustomException) {
        return response()->view('errors.404', [], 500);
    }*/

    if ($e instanceof \Symfony\Component\HttpKernel\Exception\NotFoundHttpException)
        return response(view('error.404'), 404);

    return parent::render($request, $e);
}
Run Code Online (Sandbox Code Playgroud)

如果我在浏览器中输入错误的URL,则返回空白页面.我有

'debug' => env('APP_DEBUG', true),
Run Code Online (Sandbox Code Playgroud)

在app.php中.

如果找不到路线,任何人都可以帮我如何显示404页面?谢谢.

php laravel laravel-5.1

19
推荐指数
3
解决办法
4万
查看次数

如何从php发送通知到Android?

我开发了一个使用php和mysql的网站.我想向每个发布到我网站的帖子发送通知到Android设备.

是否可以使用GCM Server发送通知?如果是,那么如何向所有安装了Android应用的设备发送通知?

php android google-cloud-messaging

15
推荐指数
2
解决办法
4万
查看次数

useselector 到底是如何工作的?

根据文件

useSelector(selector: Function, equalityFn?: Function)
Run Code Online (Sandbox Code Playgroud)

useSelector 接受两个参数,第二个参数是可选的,因为默认情况下它比较严格的 === 引用相等性检查,但不比较浅层相等性。

  const state = useSelector(state => {
        console.log("useSelector rerendering");
        return state.counter
    }, shallowEqual)
Run Code Online (Sandbox Code Playgroud)

另一个是

  const state = useSelector(state => {
        console.log("useSelector rerendering");
        return state.counter
    })
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,当 redux 存储状态发生变化以及本地状态发生变化时,组件都会重新渲染(在 useSelector 中打印 console.log)

我真的不明白它到底是如何工作的

完整源代码

import React, { useState } from 'react'
import { shallowEqual, useDispatch, useSelector } from 'react-redux'
import { decrement, increment } from './store/actions'


export default function CounterHooks(props) {

    const [submit, setSubmit] = useState(false)
    const state = useSelector(state => {
        console.log("useSelector …
Run Code Online (Sandbox Code Playgroud)

reactjs redux react-redux

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

laravel 5.1中间件路由组和名称空间路由组之间的区别?

我正在阅读laravel 5.1文档.我不明白laravel路由组如何工作以及以下路由组之间的区别.

路由组和命名路由

如果使用路由组,则可以在路由组属性数组中指定as关键字,允许您为组内的所有路由设置公共路由名称前缀:

Route::group(['as' => 'admin::'], function () {
    Route::get('dashboard', ['as' => 'dashboard', function () {
        // Route named "admin::dashboard"
    }]);
});
Run Code Online (Sandbox Code Playgroud)

中间件

要将中间件分配给组中的所有路由,可以使用组属性数组中的中间件密钥.中间件将按您定义此数组的顺序执行:

Route::group(['middleware' => 'auth'], function () {
    Route::get('/', function ()    {
        // Uses Auth Middleware
    });

    Route::get('user/profile', function () {
        // Uses Auth Middleware
    });
});
Run Code Online (Sandbox Code Playgroud)

命名空间

路由组的另一个常见用例是将相同的PHP命名空间分配给一组控制器.您可以在组属性数组中使用namespace参数来指定组中所有控制器的命名空间:

 Route::group(['namespace' => 'Admin'], function()
    {
        // Controllers Within The "App\Http\Controllers\Admin" Namespace
        Route::group(['namespace' => 'User'], function()
        {
            // Controllers Within The "App\Http\Controllers\Admin\User" Namespace
        });
    });
Run Code Online (Sandbox Code Playgroud)

子域路由

路由组也可用于路由通配符子域.可以像路由URI一样为子域分配路由参数,允许您捕获子域的一部分以供路由或控制器使用.可以使用组属性数组上的域密钥指定子域:

Route::group(['domain' => …
Run Code Online (Sandbox Code Playgroud)

php

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

如何创建Laravel 5.1 Custom Authentication驱动程序?

我正在使用socialite在Laravel身份验证登录中工作.现在我可以从社交网站保存用户数据了.但是现在我面临着如何从gmail,github验证用户的问题.

经过一些研究后,我了解到我需要创建自定义身份验证.我用Google搜索,但都是Laravel 4.1主题.如果有人就此工作,请提供您的答案.

我已经阅读了以下主题,但我没有怎么做?

http://laravel.com/docs/5.1/authentication#social-authentication

http://laravel.com/docs/5.1/providers

http://laravel-recipes.com/recipes/115/using-your-own-authentication-driver

http://laravel.io/forum/11-04-2014-laravel-5-how-do-i-create-a-custom-auth-in-laravel-5

更新

public function handleProviderCallback() {
    $user = Socialite::with('github')->user();
    $email=$user->email;
    $user_id=$user->id;

    //$authUser = User::where('user_id',$user_id)->where('email', $email)->first();
    $authUser = $this->findOrCreateUser($user);

    if(Auth::login($authUser, true)) {
        return Redirect::to('user/UserDashboard');
    }   
}

private function findOrCreateUser($user) {
    if ($authUser = User::where('user_id',$user->id)->first()) {
        return $authUser;
    }

    return User::create([
        'user_id' => $user->id,
        'name' => $user->nickname,
        'email' => $user->email,
        'avatar' => $user->avatar
    ]);
}
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-5 laravel-5.1

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

如何在Laravel 5.1中使用Github,Facebook,Gmail和Twitter登录?

我正在尝试使用Laravel 5.1中的社交网站登录.我已经安装了社交网站并遵循以下教程:

https://mattstauffer.co/blog/using-github-authentication-for-login-with-laravel-socialite

http://tutsnare.com/social-authentication-in-laravel-5/

我已经按照每一步,当尝试使用Github登录时,它重定向到Github并在登录后重定向到URL回调,但我的问题是它不会将用户数据存储在我的数据库中.

更新1

现在我的问题是如何使用社交网络验证用户.以下是我的代码,但它会抛出一个错误,说明未定义的索引密码.该错误因为Auth::attempt()有passsword参数.

if (Auth::attempt(['email' => $email, 'user_id' => $user_id])) {
  return redirect()->intended('user/UserDashboard');
} else {
  here i am going to insert if user not logged in already
}
Run Code Online (Sandbox Code Playgroud)

更新2

经过一些研究,我意识到我需要创建自定义身份验证驱动程序.如果有任何想法请发表您的答案

一年前提出同样的问题

laravel使用谷歌帐户登录

php laravel laravel-socialite

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

Heroku 获取特定日期的日志

我正在使用 Heroku,现在我需要按日期查看旧日志。我用 google 搜索但没有找到任何解决方案。有人知道如何获取特定日期的日志吗?

heroku logs --app myproject -n 200000 
Run Code Online (Sandbox Code Playgroud)

我也尝试过尾部命令

heroku logs --source app --tail
Run Code Online (Sandbox Code Playgroud)

但上面的命令最多只返回 1500 行,即使我增加,我也只得到 2k 行。

即使我阅读了文档 https://devcenter.heroku.com/articles/logging

heroku heroku-toolbelt heroku-postgres heroku-api heroku-cli

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

如何修复错误:找不到com.google.gms:google-services:3.0.0.?

我想在我的应用程序中添加firebase addmob.

在build.gradle(Project)中,我有以下代码

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.google.gms: google-services: 3.0.0'
        classpath 'com.android.tools.build:gradle:2.1.3'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
Run Code Online (Sandbox Code Playgroud)

在build.gradle(模块)中

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "24.0.2"

    defaultConfig {
        applicationId "com.myname.examp.myapp"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile …
Run Code Online (Sandbox Code Playgroud)

android android-gradle-plugin

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

Laravel Groupby 与数组

我有类别的帖子

 $response=Post::groupBy('post_category','id')->get();
Run Code Online (Sandbox Code Playgroud)

上述查询将按类别顺序返回所有具有类别的帖子。

现在我需要将类别内的所有帖子分组。现在我有一个可能的解决方案是我需要循环响应,并且在循环内我必须检查类别并创建数组。是否有一个选项可以使其在查询中类似于groupconcat.?

我的问题是:是否可以创建一个类别数组,以便数组的键是category_name并且在类别内部全部发布?

更新

帖子表

id | post_name | post_description | category_name | etc..
Run Code Online (Sandbox Code Playgroud)

这里的类别名称没有使用任何其他表,因为它的预定义值如新闻、体育、板球之类...当我在 中插入新闻、体育、政治时categoryname。

php mysql arrays laravel laravel-5

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