私はLaravelを初めて使っています。私はこのサイトを検索しましたが、特定のヘルプを見つけることができません。私は、ブレードビューにコントローラから($のようなものです)変数の値を渡すためにしようとしているが、ブラウザはLaravel 5.4 - 未定義の変数:コントローラからビューに変数を渡す
未定義変数のエラーを与える:ここで
が私の見解の一部であり、同様にコード(dashboard.blade.php):私のコントローラの
@foreach($posts as $post)
<article class="post" data-postid="{{ $post->id }}">
<div class="interaction">
<a href="#" class="like">{{$Like }}</a> |
</div>
</article>
@endforeach
<script>
var token = '{{ Session:: token() }}';
var urlLike = '{{ route('like') }}';
</script>
部(PostController.php)コード:ここで
public function LikePost(Request $request) // post type
{
$post_id = $request['postId']; // postId from script.js
$is_Like = $request['isLike'] === 'true'; // from script.js ...
$update = false;
$post = Post::find($post_id);
$user = Auth::user();
$like = $user->likes()->where('post_id', $post_id)->first();
$like->like = $is_Like;
$like->user_id = $user->id;
$like->post_id = $post->id;
$Like = $like ? $like->like == 1 ? 'You like this' : 'Like' : 'Like';
return redirect()->route('dashboard')->with('Like', $Like);
}
は私のルート・コードの一部である:
ここ//for like post
Route::post('/like', [
'uses'=> '[email protected]',
'as'=> 'like'
]);
私script.jsです:
$('.like').on('click', function (event) {
event.preventDefault();
postId = event.target.parentNode.parentNode.dataset['postid'];
// check whether previous element of like/dislike is null or not
var isLike = event.target.previousElementSibling == null;
$.ajax({
method: 'POST',
url: urlLike,
data: {
isLike: isLike,
postId: postId,
_token: token
}
}).done(function() {
event.target.innerText = isLike ? event.target.innerText == 'Like' ? 'You like this' : 'Like' : event.target.innerText == 'Dislike' ? 'You dislike this' : 'Dislike';
if (isLike) {
event.target.nextElementSibling.innerText = 'Dislike';
} else {
event.target.previousElementSibling.innerText = 'Like';
}
});
});
私は多くの方法で試してみました。しかし、それは私にエラーを示したびに、
未定義の変数:
誰でも助けてくださいdashboard.blade.phpのように.....
私はこれを取り除くことから始めたい: '$などのような= $? $ like-> like == 1? 「あなたはこれが好きです」:「好き」:「好き」;「三項関係を連鎖することは非常に悪いことです。 – miken32