방법은 유저 ID를 클릭해서 블라인드 추가를 누르면 된다. 블라인드 추가 블라인드 추가를 했을때, GET방식을 이용해서 해당 유저의 ID값을 전송한다. Route::get('/blind/{id}', [BlindController::class, 'add_blind'])->name('blind'); 그러면 설정해준 Route에 의해서 BlindController 클래스의 add_blind 함수를 동작시킨다. public function add_blind($id) { $blind_user = Blind_user::where('user_id', auth()->id())->where('target_id', $id)->first(); if($blind_user==null){ $values['user_id'] = a..
지난번에 만들어놓은 친구추가기능에서 조금 변경을 했다. 원래는 작성자의 아이디를 클릭하면 아코디언 패널이 나타나서 친구추가를 누르면 바로 친구추가가 되는 기능이었다. 이번에 변경한 점은 친구추가를 누르게되면 상대방에게 친구요청이 가게되고, 상대방이 친구요청 수락을 누르게되면 친구가되는 형식이다. Migration 생성 Schema::create('request_friends', function (Blueprint $table) { $table->id(); $table->foreignId('from'); $table->foreignId('to'); $table->foreign('from')->references('id')->on('users')->onDelete('cascade'); $table->fore..
이제 input text를 이용해서 메세지를 입력했을 때, DB에 저장하는 기능을 만듦 메세지 DB에 저장하기! Chat.vue data() { return { chatWith: null, text: '', messages: [] } }, data() 에 DB에 저장될 메세지인 text를 지정해준다. input 태그에 v-model="text"가 의미하는 것은, input의 text와 vue data()의 text를 연동시켜준다 input에서 값이 입력되면 실시간으로 vue data의 text값도 동일하게 바인딩이 된다. @keyup.enter="submit" 그리고 keyup.enter 엔터를 누르고 땟을 때, submit 메소드를 실행 submit() { if(this.text){ axios.post..
created() { //axios는 아작스 리퀘스트를 쉽게 보낼 수 있도록 만들어진 패키지 //api.php에 만들어둔 Route axios.get('/api/users').then(res => { console.log(res); //this.users -> date() 안에 있는 users에 접근 //res.data.user -> 가져온 값 res의 data안에 users안에 있는 값을 가르킴 this.users = res.data.users; }).catch(error => { console.log(error); }); }, 유저목록을 가져오기위해서는 Laravel에서 제공하는 axios를 이용해서 리퀘스트를 주고 받을 수 있다. get('/api/users)를 통해서 api.php에 만들어놓은 r..
resources/js/app.js Vue.component('the-chat', require('./components/Chat.vue').default); Laravel에서 component를 보다 쉽게 사용할 수 있도록 설정이 되었다. 위의 설정되어있는 대로, 태그를 이용하면 components/chat.vue가 불러와지는 것이다. components/Chat.vue import ChatUserList from './ChatUserList'; import ChatArea from './ChatArea'; components: { ChatUserList, ChatArea } vue파일의 script문에 위와 같이 설정을하면, 다른 vue파일을 component로 불러올 수 있게 된다. 그러면 위 처럼..
현재 만들고 Laravel로 제작하고 있는 웹사이트에 단축키 기능을 추가하고 싶어서 기능을 찾아서 적용을 했다. Script /* 단축키 추가하기 */ var shortcut = new Array(); shortcut['w'] = "/forum/"; /* 새 글 쓰기 */ shortcut['h'] = "/"; /* 새 글 쓰기 */ $(document).keypress(function(e){ var key = e.key; var tagName = e.target.tagName; if(tagName!='INPUT' && tagName!='TEXTAREA'){ key = key.toLowerCase(); for (var i in shortcut){ if (key == i){ window.location = ..