我想在给定数组的数据库中存储一些json格式数据.但我如何使用控制器存储它.
假设我有json数据,如:
{"id":"bangladesh","divisions":[{"name":"Barisal"},{"name":"Chittagong"},{"name":"Dhaka"},{"name":"Khulna"},{"name":"Rajshahi"},{"name":"Rangpur"},{"name":"Sylhet"}]}
Run Code Online (Sandbox Code Playgroud)
据我所知,在控制器中使用json格式是这样的,因为我还没有完全清楚它.
public function saveUser(Request $request)
{
$div=new Div();
$user->json = json_encode( array({"Date 1": {
{"id":"bangladesh","divisions":[{"name":"Barisal"},{"name":"Chittagong"},{"name":"Dhaka"},{"name":"Khulna"},{"name":"Rajshahi"},{"name":"Rangpur"},{"name":"Sylhet"}]}
$div->save();
return redirect('getList');
}
Run Code Online (Sandbox Code Playgroud)
如何使用Laravel Controller将它保存在mySQL中仅使用分区模型中的分区列表?
当用户从特定设备注销时,我想从他登录的所有设备注销到现在为止.我是怎么在Laravel做的.
我使用Redis通过安装"predis/predis"来保持userId在Session中:"~1.0"
这是我的SignIn和Logout控制器:
public function postSignIn(Request $request)
{
if (Auth::attempt(['email' => $request['email'], 'password' =>$request['password'] ]) ) {
$redis = \Redis::connection();
$userId=Session::getId();
$redis->sadd('users:sessions:'.$userId,Session::getId());
return redirect()->route('main');
}
return redirect()->back();
}
public function getLogout()
{
$redis = Redis::connection();
$userId=Session::getId();
$userSessions = $redis->smembers('user:sessions:' . $userId);
$currentSession = Session::getId();
foreach ($userSessions as $sessionId) {
if ($currentSession == $sessionId) {
continue;
}
$redis->srem('user:sessions:' . $userId, $sessionId);
$redis->del('laravel:' . $sessionId);
}
Auth::logout();
return redirect()->route('main');
}
Run Code Online (Sandbox Code Playgroud)
它已成功登录并注销但不会终止其他设备中的所有会话.
我该如何解决这个问题?
这里的场景是我要传递一个变量,该变量将从一个页面发送到另一个页面,在下一页中它将通过表单存储.所以我通过URL将变量从第一页传递到第二页.但我想隐藏URL中的参数.我该怎么做?
这是我的路线:
Route::get('/registration/{course_id}',[
'uses'=>'AppController@getregistration',
'as'=>'registration'
]);
Run Code Online (Sandbox Code Playgroud)
和控制器:
public function getregistration($course_id)
{
return view('index')->with('course_id',$course_id);
}
Run Code Online (Sandbox Code Playgroud)
第一页这是我将值发送到第一页的方式:
<li> <a href="{{route('registration',['course_id' => '1'])}}">A</a> </li>
Run Code Online (Sandbox Code Playgroud) 尝试访问>> http://localhost:phpmyadmin时显示以下错误。
致命错误:在中找不到类“Symfony\Component\Debug\ExceptionHandler”
C:\xampp\htdocs\laravel_blog\vendor\laravel\framework\src\Illuminate\Exception\ExceptionServiceProvider.php 第 68 行
Open: C:\xampp\htdocs\laravel\bootstrap\compiled.php
if (!is_null($route)) {
return $route->bind($request);
}
$others = $this->checkForAlternateVerbs($request);
if (count($others) > 0) {
return $this->getOtherMethodsRoute($request, $others);
}
throw new NotFoundHttpException();
}
protected function checkForAlternateVerbs($request)
Run Code Online (Sandbox Code Playgroud)
我已经更新了作曲家。仍然显示错误。
我该如何解决?
我想检索除一个之外的所有用户数据。为此,我使用了以下查询
$users=User::whereNotIn('name',['admin'])->pluck('id','name');
Run Code Online (Sandbox Code Playgroud)
当我 dd() 输出时,我看到除一个之外的所有用户数据但是当我foreach()在视图页面中循环发送查询结果时,我看到
Trying to get property of non-object
视图页面出错。这里的错误是什么?有人可以建议我吗?
这是我在视图页面中使用的 foreach 循环
@foreach($users as $user)
<option value="{{$user->id}}">{{$user->name}}</option>
@endforeach
Run Code Online (Sandbox Code Playgroud) 我试图发送以下查询的集合:
$monthly_report_chart = DB::table("transactions")
->select(DB::raw("Date(updated_at) as today"),DB::raw("SUM(collected_today) as sum"))
->groupBy(DB::raw('Date(updated_at)'))
->where(DB::raw('Month(updated_at)'),'=',$month)
->get();
Run Code Online (Sandbox Code Playgroud)
我想在这样的javascript中访问该集合:
{!! json_encode($monthly_report_chart->today) !!}
Run Code Online (Sandbox Code Playgroud)
但它会抛出以下错误:
此集合实例上不存在属性[today]
如何在javascript中访问集合实例?谢谢!
我想在某些条件下使用php str_replace()函数.例如:如果字符串有am 我想要替换,:00如果它有pm我要替换:00.将有一个am或pm在字符串上,我想用相同的变量替换.我如何使用PHP做到这一点?
$classRoom->start =Carbon::parse($request->input('start'));
dd(str_replace(array('am', ':00'), array('pm', ':00'),$request->input('start')));
Run Code Online (Sandbox Code Playgroud) 我正在构建一个laravel应用程序,我想跟踪客户端浏览器的详细信息,例如浏览器名称。我如何使用Laravel做到这一点?
public function postUser(Request $request)
{
$user = new User();
$user->name = $request->Input(['name']);
$device= $request->header('User-Agent');
dd($device);
$user->save();
return redirect('userSavePage');
}
Run Code Online (Sandbox Code Playgroud)
我已经用过了, $device= $request->header('User-Agent');
但是当我在dd()输出时,我得到的是这样的:
"Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36"
Run Code Online (Sandbox Code Playgroud)
如何获得实际的浏览器详细信息?
在尝试从数据库导出数据时,我看到了一些垃圾值,而不是显示UTF-8字符的实际数据。我用Excel打开CSV,然后用 Maatwebsite / Laravel-Excel软件包导出csv。
这是我的控制器:
public function downloadExcel($type)
{
$data = Item::get()->toArray();
return Excel::create('solutionstuff_example', function($excel) use ($data) {
header('Content-Encoding: UTF-8');
header('Content-type: text/csv; charset=UTF-8');
header('Content-Disposition: attachment; filename=solutionstuff_example.csv');
$excel->sheet('mySheet', function($sheet) use ($data)
{
$sheet->fromArray($data);
});
})->download($type);
}
Run Code Online (Sandbox Code Playgroud)
这是它的快照:
如果有人遇到问题并知道如何解决它,希望您能帮助我解决问题。谢谢
我想在laravel 5.2应用程序中创建一个下拉列表.我想在我的视图页面中加载类别项.但是当我加载页面时,它显示以下错误.
routes.php第47行中的FatalErrorException:未找到类"类别"
如果有人知道问题是什么,请求帮助我完成它.
这是我的分类模型:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Category extends Model{
protected $table="categories";
protected $fillable = ['name'];
}
Run Code Online (Sandbox Code Playgroud)
这是路线:
<?php
Route::get('/', function () {
$categories=Category::all();
return view('index')->with ('categories',$categories);
});
Run Code Online (Sandbox Code Playgroud)
如果需要,这是视图页面:
<html>
<head>
<title>Cascading Dropwon</title>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
</head>
<body>
<div class="container">
<h3>Categories and Subcategories Ajax</h3>
<div class="col-lg-4">
{!! Form::open(array('url' => '','files'=>true)) !!}
{!! Form::token(); !!}
<div class="form-group">
<label for="">Categories</label>
<select class="form-control input-sm" name="">
@foreach($categories as $category){
<option value="{{$category->id}}">{{$category->name}}</option>
}
@endforeach
</select>
</div>
<div class="form-group">
<label …Run Code Online (Sandbox Code Playgroud) 这是代码
int main()
{
int i=-3, j=2, k=0, m;
m = ++i||++j&&++k;
printf("%d, %d, %d, %d\n", i, j, k, m);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
并输出:-2,2,0,1
但我不明白 m = ++i||++j&&++k;它是如何被执行的.有人请解释一下.谢谢!
我正在编写一个程序,用于查找给定数字是否为阿姆斯壮数:
int main()
{
int n,rem,sum=0;
cout<<"Enter the Number for checking"<<endl;
cin>>n;
while(n!=0)
{
rem=n%10;
sum=sum+(rem*rem*rem);
n=n/10;
}
if(sum==n)
{
cout<<"Armstrong Number"<<endl;
}
else
{
cout<<"It's not a armstrong number";
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我运行它时,无论输入如何,它总是报告"它不是一个非常强的数字".
我按如下方式更改了代码,并得到了正确的结果.但我不明白为什么我需要分配输入n1和执行操作 - 为什么我不能直接进行操作n?
int main()
{
int n,rem,sum=0,n1;
cout<<"Enter the Number for checking"<<endl;
cin>>n;
n1=n;
while(n1!=0)
{
rem=n1%10;
sum=sum+(rem*rem*rem);
n1=n1/10;
}
if(sum==n)
{
cout<<"Armstrong Number"<<endl;
}
else
{
cout<<"It's not a armstrong number";
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)