전과정


결과


'라라벨 > laravel7스터디' 카테고리의 다른 글

component에 추가내용 전달하기  (0) 2020.03.28
tailwindcss cdn 적용  (0) 2020.03.28
리스트 불러오기  (0) 2020.03.28
데이터 바인딩 넘기는 방법  (0) 2020.03.28
블레이드(blade)새로운 구성법 component  (0) 2020.03.28

1. 컴포넌트 파일생성

php artisan make:component Sidebar


결과1: app/View/Components/Sidebar.php 클래스파일이 생성됨

결과2: resources/views/components/sidebar.blade.php 블레이드파일이 생성됨


Sidebar.php 클래스에서 render()메서드에서 views/components/sidebar.blade.php 파일을 불러온다.


2. welcome.blade.php 파일에 sidebar component를 불러오자 <x-sedebar />

<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">

<title>Laravel</title>

<!-- Fonts -->
<link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet">


</head>
<body>

<x-sidebar />

</body>
</html>


3. resoueves/views/components/sidebar.blade.php 파일에 아무거나 작성하자

<div>
Hello Laravel 7 Component
</div>


4. web.php

Route::view('/', 'welcome');


5. 브라우저에 확인해보자


'라라벨 > laravel7스터디' 카테고리의 다른 글

component에 추가내용 전달하기  (0) 2020.03.28
tailwindcss cdn 적용  (0) 2020.03.28
리스트 불러오기  (0) 2020.03.28
데이터 바인딩 넘기는 방법  (0) 2020.03.28
타이틀 정의하는 방법  (0) 2020.03.28
<form action="/workplan/{{$workplan->id}}/edit" method="post">
@csrf
@method('PATCH')

<input class="ui button" type="submit" value="취소" formaction="/workplanComplate/{{$workplan->id}}">
<input type="hidden" name="con" value=0>

</form>



'라라벨 > FORM' 카테고리의 다른 글

form 테이블 전송하기 예제  (0) 2020.04.03

아래와 같이 댓글의 수량이라던가 합계가 필요한경우가 있다.

그래야 컨트롤러에서 블레이드파일로 변수를 던져줘서 출력을 해야한다.


1
2
3
4
5
  $articles = DB::table('workplans')
            ->leftJoin('worktasks', 'workplans.id', '=', 'worktasks.workplan_id')
            ->selectRaw('workplans.*, sum(worktasks.wt) as commentcount')
            ->groupBy('workplans.id')   
            ->get();
cs


[4200]에러가 나올때가 있다.


해결방법은 아래와 같이 변경해준다.

config/database.php


'mysql' =>[

'strict' => false,

]



이제 전체목록과 댓글을 index에 표현할 수 있다. 


'라라벨 > ORM' 카테고리의 다른 글

엘로퀀트 ORM예제  (0) 2019.05.25
쿼리빌더 명령모음  (0) 2019.04.14
엘로퀀드ORM 다대다관계  (0) 2019.04.13
1
2
3
4
5
6
7
8
9
10
11
12
<?php
 
$arrs = [150,300,400];
$sum=0;
 
foreach ($arrs as $arr) {
    $sum+= $arr;
}
 
echo $sum;
 
?>
cs

결과는 850


더 간단히

1
2
3
4
5
6
7
<?php
 
$arrs = [150,300,400];
 
echo array_sum($arrs);
 
?>
cs


이렇게 할 경우 에러가 생기는 경우가 있다.

{{($workplan->created_at)->format('m-d')}}


Call to a member function format() on string (View: /Users/wonhochoi/pcb/resources/views/workplan/index.blade.php)



아래와 같이 변경해주면 된다.


{{Carbon\Carbon::parse($workplan->created_at)->format('m-d')}}


'라라벨 > Carbon' 카테고리의 다른 글

날짜 표현방법 알아보기  (0) 2020.01.18
전역변수 날짜, 시간설정하기  (0) 2019.08.31

1. 스키마생성

Schema::create('users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->string('phone');
$table->string('usertype')->nullable();
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});





2. 미들웨어 추가

php artisan make:middleware AdminMiddleware


app/Http/Middleware/AdminMiddleware.php

유저타입이 'admin' 이면 계속

아니면 홈으로 리다이렉트 'status'값을 같이 보낸다.

public function handle($request, Closure $next)
{
if(Auth::user()->usertype == 'admin')
{
return $next($request);
}else{
return redirect('/home')->with('status', 'You are Not Allowed To Adimin Dashboard');
}


}


3. Kernel Middleware추가

protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
'admin' => \App\Http\Middleware\AdminMiddleware::class,
];


4. app/Http/Controllers/Auth/LoginController.php

로그인 유저 타입이 'admin' 이면 호스트/dashboard

아니면 호스트/home 로 

use Illuminate\Support\Facades\Auth;


protected function redirectTo()
{
if(Auth::user()->usertype == 'admin')
{
return 'dashboard';
}else{
return 'home';
}
}


5. 라우터 설정 (미들웨어설정 auth,admin 만 접속가능하다)

Route::group(['middleware' => ['auth', 'admin']], function(){

Route::get('/dashboard', function(){
return view('admin.dashboard');
});

});


admin 유저로 로그인 했을경우


일반유저로 로그인 했을 경우


'라라벨 > 기능구현' 카테고리의 다른 글

워크플랜 작성하기  (0) 2020.03.07

1. index (데이터가져오기)

https://www.youtube.com/watch?v=7Pl5T5jf3Kk&list=PLRheCL1cXHrsVMqY-ZFuEaHIjPB7xcnli


2. store (데이터 삽입)

https://www.youtube.com/watch?v=YxTErC4a7sA&list=PLRheCL1cXHrsVMqY-ZFuEaHIjPB7xcnli


3. edit updata (업데이트_

https://www.youtube.com/watch?v=V7v8zWexpQ4&t=923s


4. delete (삭제)

https://www.youtube.com/watch?v=I-B9TvjukLg&list=PLRheCL1cXHrsVMqY-ZFuEaHIjPB7xcnli


+ Recent posts